/* Plateforme de live CAMia — design (09/11/2026). Une seule feuille, aucune police à télécharger (polices du système : affichage immédiat),
   pensée d'abord pour le téléphone. Couleurs en jetons : la marque se change ici seulement. */
:root{
  --fond:#0b0a12; --fond2:#11101b; --carte:#171523; --carte2:#1f1c2e; --ligne:rgba(255,255,255,.09);
  --texte:#f4f1fa; --doux:#aaa3bd; --rose:#ff4f9a; --violet:#7b3fe4; --cyan:#22d3ee; --vert:#22c55e; --ambre:#f59e0b; --rouge:#ef4444;
  --degrade:linear-gradient(135deg,var(--rose),var(--violet));
  --rayon:16px; --ombre:0 10px 30px -12px rgba(0,0,0,.7);
  --police:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);font:15px/1.5 var(--police);min-height:100vh}
a{color:inherit} img{max-width:100%;display:block} button,input,select{font:inherit;color:inherit}
.ic{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cache{display:none!important}
/* En-tête */
.entete{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(11,10,18,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--ligne)}
.logo{display:flex;align-items:center;gap:8px;font-weight:900;font-size:19px;letter-spacing:-.02em;text-decoration:none}
.logo i{width:30px;height:30px;border-radius:10px;background:var(--degrade);display:grid;place-items:center;box-shadow:0 0 18px rgba(255,79,154,.5)}
.logo b{background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent}
.entete .espace{flex:1}
.solde{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--carte2);font-weight:700;font-size:14px;text-decoration:none}
.solde .ic{color:var(--ambre)}
/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border:0;border-radius:12px;background:var(--degrade);color:#fff;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:0 6px 20px -8px rgba(255,79,154,.7);transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.1);transform:translateY(-1px)} .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn.second{background:var(--carte2);box-shadow:none;border:1px solid var(--ligne)}
.btn.petit{min-height:34px;padding:0 12px;font-size:14px;border-radius:10px}
/* Accueil */
.page{max-width:1400px;margin:0 auto;padding:16px}
.accroche{display:grid;gap:6px;margin:8px 0 16px}
.accroche h1{margin:0;font-size:clamp(24px,5vw,38px);line-height:1.1;letter-spacing:-.03em}
.accroche p{margin:0;color:var(--doux)}
.filtres{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px;scrollbar-width:none}
.filtres button{flex:none;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte);cursor:pointer;font-weight:700;font-size:14px}
.filtres button.actif{background:var(--texte);color:var(--fond);border-color:transparent}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.carte-salon{position:relative;display:block;border-radius:var(--rayon);overflow:hidden;background:var(--carte);text-decoration:none;box-shadow:var(--ombre);transition:transform .2s}
.carte-salon:hover{transform:translateY(-3px)}
.vignette{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#2a1840,#12101c)}
.vignette img{width:100%;height:100%;object-fit:cover}
.vignette .initiale{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;font-weight:900;color:rgba(255,255,255,.18)}
.pastille{position:absolute;top:8px;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:8px;font-size:12px;font-weight:800;background:rgba(0,0,0,.6);backdrop-filter:blur(6px)}
.pastille.direct{left:8px;background:var(--rouge)} .pastille.direct::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:battre 1.4s infinite}
.pastille.vues{right:8px}
@keyframes battre{50%{opacity:.3}}
.carte-salon .infos{padding:10px 12px;display:grid;gap:2px}
.carte-salon .infos b{font-size:15px} .carte-salon .infos span{color:var(--doux);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.categorie{display:inline-block;justify-self:start;margin-top:4px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em}
.categorie.sfw{background:rgba(34,197,94,.15);color:#86efac} .categorie.public_explicite{background:rgba(255,79,154,.16);color:#ff9ac4} .categorie.live_premium{background:rgba(245,158,11,.16);color:#fcd34d}
.vide{padding:40px 16px;text-align:center;color:var(--doux);border:1px dashed var(--ligne);border-radius:var(--rayon)}
.squelette{border-radius:var(--rayon);aspect-ratio:16/12;background:linear-gradient(90deg,var(--carte) 30%,var(--carte2) 50%,var(--carte) 70%);background-size:300% 100%;animation:charge 1.2s infinite}
@keyframes charge{to{background-position:-150% 0}}
/* Salon */
.salon{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;max-width:1500px;margin:0 auto;padding:16px}
.lecteur{position:relative;aspect-ratio:16/9;border-radius:var(--rayon);overflow:hidden;background:#000;box-shadow:var(--ombre)}
.lecteur video{width:100%;height:100%;object-fit:contain;background:#000}
.lecteur .etat{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;background:radial-gradient(circle at 50% 40%,rgba(123,63,228,.25),rgba(0,0,0,.85))}
.lecteur .etat div{display:grid;gap:10px;justify-items:center;max-width:420px}
.lecteur .etat h2{margin:0;font-size:20px}
.lecteur .etat p{margin:0;color:var(--doux)}
.titre-salon{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.titre-salon h1{margin:0;font-size:20px}
.panneau{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:14px}
.panneau h3{margin:0 0 10px;font-size:15px}
.montants{display:flex;gap:8px;flex-wrap:wrap}
.montants button{min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);font-weight:800;cursor:pointer}
.montants button:hover{border-color:var(--rose)}
.menu-tips{display:grid;gap:6px;margin-top:10px}
.menu-tips button{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);cursor:pointer;text-align:left}
.menu-tips button b{color:var(--ambre);white-space:nowrap}
.chat{display:flex;flex-direction:column;height:calc(100vh - 100px);min-height:420px;position:sticky;top:76px;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);overflow:hidden}
.chat .tete{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--ligne);font-weight:800}
.chat .tete small{color:var(--doux);font-weight:600}
.fil{flex:1;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:6px;overscroll-behavior:contain}
.fil p{margin:0;word-wrap:break-word} .fil b{color:var(--cyan)}
.fil .tip{padding:8px 10px;border-radius:10px;background:linear-gradient(135deg,rgba(255,79,154,.18),rgba(123,63,228,.18));font-weight:700}
.fil .tip b{color:var(--ambre)}
.saisie{display:flex;gap:8px;padding:10px;border-top:1px solid var(--ligne)}
.saisie input{flex:1;min-width:0;min-height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--ligne);background:var(--fond2)}
/* Compte */
.compte{max-width:520px;margin:0 auto;padding:24px 16px;display:grid;gap:14px}
.onglets{display:flex;gap:6px;padding:4px;border-radius:14px;background:var(--carte)}
.onglets button{flex:1;min-height:40px;border:0;border-radius:10px;background:transparent;font-weight:800;cursor:pointer;color:var(--doux)}
.onglets button.actif{background:var(--carte2);color:var(--texte)}
.champ{display:grid;gap:6px} .champ label{font-weight:700;font-size:14px}
.champ input{min-height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--ligne);background:var(--fond2)}
.champ input:focus,.saisie input:focus{outline:2px solid var(--violet);outline-offset:1px}
.case{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--doux)} .case input{margin-top:3px;width:18px;height:18px}
.statut{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:800}
.statut.ok{background:rgba(34,197,94,.15);color:#86efac} .statut.non{background:rgba(245,158,11,.15);color:#fcd34d}
.table{width:100%;border-collapse:collapse;font-size:14px} .table td,.table th{padding:8px 6px;border-bottom:1px solid var(--ligne);text-align:left} .table td.n{text-align:right;font-variant-numeric:tabular-nums}
.message{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:50;max-width:calc(100% - 32px);padding:12px 18px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne);box-shadow:var(--ombre);font-weight:700}
.essai{margin:0;padding:8px 16px;text-align:center;font-size:13px;font-weight:700;background:rgba(245,158,11,.15);color:#fcd34d}
@media (max-width:980px){.salon{grid-template-columns:1fr}.chat{position:static;height:60vh}}
@media (max-width:520px){.grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.carte-salon .infos{padding:8px}.entete{padding:8px 12px}.page,.salon{padding:12px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== Technologies modernes (amélioration progressive : un navigateur plus ancien garde l'affichage ci-dessus) ===== */
/* Couleurs en OKLCH : dégradés plus lumineux et plus réguliers sur les écrans récents */
@supports (color:oklch(0 0 0)){:root{--rose:oklch(68% .23 355);--violet:oklch(55% .24 293);--cyan:oklch(80% .14 210);--degrade:linear-gradient(135deg in oklch,var(--rose),var(--violet))}}
/* Transitions fluides entre les pages (accueil → salon → compte), sans framework */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
.lecteur{view-transition-name:lecteur}
/* Bordure animée des lives en direct (propriété CSS typée @property) */
@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}
.carte-salon:has(.pastille.direct)::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;
  background:conic-gradient(from var(--angle),transparent 60%,var(--rose),var(--violet),transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:tourne 4s linear infinite;opacity:0;transition:opacity .3s}
.carte-salon:hover::after,.carte-salon:focus-visible::after{opacity:1}
@keyframes tourne{to{--angle:360deg}}
/* Les cartes s'adaptent à leur propre largeur (requêtes de conteneur), pas seulement à l'écran */
.carte-salon{container-type:inline-size}
@container (max-width:180px){.carte-salon .infos b{font-size:13px}.carte-salon .infos span:not(.categorie){display:none}.pastille{font-size:10px;padding:2px 6px}}
/* Apparition douce des cartes au défilement (animations liées au défilement) */
@supports (animation-timeline:view()){.carte-salon{animation:entree linear both;animation-timeline:view();animation-range:entry 0% entry 40%}@keyframes entree{from{opacity:0;transform:translateY(16px) scale(.98)}}}
/* Champ actif mis en valeur grâce à :has() */
.saisie:has(input:focus){background:color-mix(in oklab,var(--violet) 10%,transparent)}
.champ:has(input:invalid:not(:placeholder-shown)) label{color:var(--rouge)}
/* Défilement et curseur de texte aux couleurs de la marque */
html{scrollbar-color:var(--carte2) transparent;accent-color:var(--rose);caret-color:var(--rose)}
.fil{scrollbar-width:thin}
/* Écran des grands moniteurs : une grille plus aérée */
@media (min-width:1600px){.grille{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
/* Pied de page */
.pied{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;padding:24px 16px;color:var(--doux);font-size:13px}
.pied a{color:var(--doux)}
/* En-tête sur petit écran : le nom sur une ligne, le bouton du compte réduit à son icône */
.logo{white-space:nowrap}
@media (max-width:520px){.entete .btn.second span{display:none}.entete .btn.second{padding:0 10px}.logo{font-size:17px}}
/* Menu principal (09/11/2026) */
.menu{display:flex;gap:4px;margin-left:12px;flex:none;overflow-x:auto;scrollbar-width:none}.menu::-webkit-scrollbar{display:none}
.menu a{padding:7px 12px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;color:var(--doux);white-space:nowrap}
.menu a:hover{color:var(--texte);background:var(--carte)}
.menu a[aria-current]{color:var(--texte);background:var(--carte2)}
.entete.menu-bas{flex-wrap:wrap}.entete.menu-bas .menu{order:3;flex:1 1 100%;width:100%;margin:6px 0 0;justify-content:space-between}
.entete.menu-bas .menu a{flex:1 0 auto;text-align:center}
.menu.deborde{justify-content:flex-start}.menu.a-droite{-webkit-mask-image:linear-gradient(to right,#000 82%,transparent);mask-image:linear-gradient(to right,#000 82%,transparent)}
.menu.a-gauche{-webkit-mask-image:linear-gradient(to left,#000 82%,transparent);mask-image:linear-gradient(to left,#000 82%,transparent)}
.menu.a-gauche.a-droite{-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent)}
@media (max-width:420px){.entete.menu-bas .menu{gap:0}.entete.menu-bas .menu a{padding:7px 5px;font-size:13px}}
@media (max-width:360px){.entete.menu-bas .menu a{padding:6px 3px;font-size:12px;letter-spacing:-.01em}}
/* Fenêtres (réglage du jouet, achat…) */
.fenetre{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:rgba(5,4,10,.72);backdrop-filter:blur(6px)}
.fenetre-boite{width:min(460px,100%);max-height:90vh;overflow:auto;display:grid;gap:10px}
.etapes{margin:0;padding-left:20px;color:var(--doux);display:grid;gap:4px}
/* Room : objectif, réactions aux tips, onglets (09/11/2026) */
.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--rose);flex:none}
.titre-salon h1 a{text-decoration:none}
.titre-salon small{color:var(--doux)}
.titre-salon .btn.actif{border-color:var(--rose);color:var(--rose)}
.objectif{margin:12px 0 0;padding:10px 12px;border-radius:14px;background:var(--carte);border:1px solid var(--ligne)}
.objectif-txt{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:6px}.objectif-txt span{color:var(--doux);white-space:nowrap}
.objectif-barre{height:10px;border-radius:999px;background:var(--carte2);overflow:hidden}
.objectif-barre i{display:block;height:100%;width:0;background:var(--degrade);border-radius:inherit;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.objectif.fini .objectif-barre i{animation:brille 1.2s ease-in-out infinite alternate}
@keyframes brille{to{filter:brightness(1.5)}}
.reactions{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
.piece{position:absolute;bottom:-30px;color:var(--ambre);animation:monte var(--d,2s) cubic-bezier(.2,.7,.3,1) forwards;filter:drop-shadow(0 0 6px rgba(245,158,11,.8))}
.piece .ic{width:26px;height:26px}
@keyframes monte{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1}100%{transform:translateY(-110%) translateX(var(--x,0)) scale(1.2) rotate(25deg);opacity:0}}
.bandeau-tip{position:absolute;left:50%;top:14%;z-index:3;transform:translateX(-50%);display:grid;justify-items:center;gap:2px;padding:12px 22px;border-radius:18px;background:var(--degrade);color:#fff;box-shadow:0 12px 40px rgba(255,79,154,.5);text-align:center}
.bandeau-tip b{font-size:26px;line-height:1.1}.bandeau-tip small{font-weight:700;opacity:.9}.bandeau-tip span{font-weight:800}
.bandeau-tip.anim{animation:surgit .5s cubic-bezier(.2,1.4,.4,1)}
@keyframes surgit{from{transform:translateX(-50%) scale(.6);opacity:0}}
.onglets-room{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--ligne);overflow-x:auto;scrollbar-width:none}
.onglets-room button{flex:none;min-height:34px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--doux);font-weight:800;cursor:pointer}
.onglets-room button.actif{background:var(--carte2);color:var(--texte)}
.fil .systeme{color:var(--cyan);font-size:13px;font-style:italic}
/* Classement : badge de raison, carte à la une, thèmes */
.pastille.raison{top:auto;bottom:8px;left:8px;background:var(--degrade)}
.carte-salon.grande{grid-column:span 2;grid-row:span 2}
.carte-salon.grande .infos b{font-size:18px}
.themes button{min-height:30px;font-size:13px;font-weight:600}
@media (max-width:520px){.carte-salon.grande{grid-column:span 2;grid-row:auto}}
/* Room sur mobile (09/11/2026) : la vidéo occupe l'écran et le chat se superpose en bas de la vidéo, transparent, comme les applis de live mobiles.
   Sur ordinateur, le chat reste à droite de la vidéo (règles plus haut). */
@media (max-width:980px){
  .salon{position:relative;padding:0 0 12px;gap:0}
  .salon>section{padding:0}
  .lecteur{aspect-ratio:auto;height:calc(100svh - 120px);min-height:420px;border-radius:0}
  .lecteur video{object-fit:cover}
  .salon .chat{position:absolute;left:0;right:0;top:calc(100svh - 120px - 46svh);height:46svh;min-height:240px;z-index:4;background:transparent;border:0;border-radius:0;
    background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 60%,transparent 100%);pointer-events:none}
  .salon .chat>*{pointer-events:auto}
  .salon .chat .onglets-room{border:0;padding:4px 10px;background:transparent}
  .salon .chat .onglets-room button{min-height:28px;font-size:12px;background:rgba(0,0,0,.35);color:#fff}
  .salon .chat .onglets-room button.actif{background:rgba(255,255,255,.22)}
  .salon .chat .fil{padding:4px 12px;mask-image:linear-gradient(to bottom,transparent 0,#000 30%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%)}
  .salon .chat .fil p{text-shadow:0 1px 3px rgba(0,0,0,.9);font-size:14px;color:#fff;max-width:85%}
  .salon .chat .fil .tip{background:rgba(255,79,154,.35);backdrop-filter:blur(4px);display:inline-block;width:auto}
  .salon .chat .saisie{border:0;padding:8px 10px}
  .salon .chat .saisie input{background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(6px)}
  .bandeau-tip{top:10%}
  .objectif{margin:10px 12px 0}
  .titre-salon,.salon #tips{margin-left:12px;margin-right:12px}
}
/* Fil « Pour toi » : cartes plein écran, défilement vertical carte par carte */
.page-fil .pied{display:none}
/* Vidéos, lecteur avec moments forts, albums, profil (09/11/2026) */
.pastille.prix{top:auto;bottom:8px;right:8px;left:auto;display:inline-flex;gap:3px;align-items:center}
.contenu-page .lecteur canvas{width:100%;height:100%;display:block}
.frise{margin-top:10px;display:grid;gap:8px}
.frise-piste{position:relative;height:16px;border-radius:999px;background:var(--carte2);cursor:pointer;overflow:hidden}
.frise-piste .repere{position:absolute;top:0;bottom:0;background:var(--degrade);border-radius:4px}
.frise-piste #tete{position:absolute;top:-2px;bottom:-2px;width:3px;background:#fff;border-radius:2px;box-shadow:0 0 8px #fff;z-index:2}
.frise-cmd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.frise-cmd #temps{font-variant-numeric:tabular-nums;color:var(--doux)}
#listeMoments{display:grid;gap:6px}
.moment{display:flex;align-items:baseline;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);cursor:pointer;text-align:left}
.moment span{font-variant-numeric:tabular-nums;color:var(--cyan)}.moment small{color:var(--doux);margin-left:auto}
.moment.joue{border-color:var(--rose)}
.album{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.album img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px}
.pastille-demo{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--ambre);color:#000;vertical-align:middle}
/* Page de diffusion de la modèle */
.diffuser-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}
.diffuser .panneau{display:grid;gap:10px}
.diffuser select{min-height:46px;padding:0 12px;border-radius:12px;border:1px solid var(--ligne);background:var(--fond2)}
.ligne-menu{display:grid;grid-template-columns:1fr 100px auto;gap:6px;margin-bottom:6px}
.ligne-menu input{min-height:42px;padding:0 10px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond2)}
.apercu{width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;object-fit:cover}
.cle-res{display:grid;gap:8px;margin-top:10px}
.cle-res input{font-family:ui-monospace,monospace}
/* Pages de texte (à propos, guide, CGU, CGV, charte, partenaires) */
.page-texte{max-width:820px;margin:0 auto;padding:24px 16px;display:grid;gap:14px}
.page-texte h1{margin:0;font-size:clamp(26px,5vw,38px);letter-spacing:-.02em}
.page-texte .chapo{font-size:18px;color:var(--doux);margin:0}
.page-texte h2{margin:0 0 8px;font-size:18px}
.page-texte ul,.page-texte ol{margin:0;padding-left:20px;display:grid;gap:6px}
.page-texte p{margin:0 0 8px}
.page-texte a{color:var(--rose)}
/* Message discret en haut de la vidéo (rooms de démonstration) */
.lecteur .etat.discret{inset:12px 0 auto 0;background:none;place-items:start center;padding:0}
.lecteur .etat.discret div{display:block;padding:6px 14px;border-radius:999px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);font-size:13px}
.lecteur .etat.discret p{color:#fff}
/* Vitrine de l'accueil : bannière et rangées (09/11/2026) */
.vitrine{display:grid;gap:8px;padding-bottom:8px}
.alaune{position:relative;isolation:isolate;min-height:min(62vh,560px);display:flex;flex-direction:column;justify-content:flex-end;gap:18px;padding:0 0 2vh}
.alaune-txt{padding:0 4vw}
/* Bannière fondue dans le fond : l'image s'efface vers le bas et sur les côtés, sans aucun bord visible */
.alaune-fonds{position:absolute;inset:0;z-index:-1;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 35%,transparent 98%),linear-gradient(to right,transparent 0,#000 22%,#000 78%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,#000 35%,transparent 98%),linear-gradient(to right,transparent 0,#000 22%,#000 78%,transparent 100%);mask-composite:intersect}
.alaune-fonds i{position:absolute;inset:0;background:var(--img) center 30%/cover;opacity:0;transform:scale(1.06);transition:opacity 1.4s ease,transform 8s ease-out}
.alaune-fonds i.actif{opacity:.85;transform:scale(1)}
.alaune::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--fond) 0%,color-mix(in oklch,var(--fond) 60%,transparent) 38%,transparent 65%)}
.alaune-pastilles{display:flex;gap:6px;flex-wrap:wrap}
.alaune-points{position:absolute;left:4vw;bottom:10px;display:flex;gap:6px}
.alaune-points button{min-width:26px;height:26px;padding:0 6px;border-radius:999px;border:1px solid color-mix(in oklch,var(--texte) 30%,transparent);background:color-mix(in oklch,var(--fond) 50%,transparent);color:var(--doux);font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.alaune-points button:empty{min-width:10px;width:10px;height:10px;padding:0}
.alaune-points button.actif{background:var(--texte);color:var(--fond)}

.alaune-onglets{margin-left:auto;display:flex;gap:6px;align-self:flex-end}
.alaune-onglets button{border:1px solid color-mix(in oklch,var(--texte) 25%,transparent);background:color-mix(in oklch,var(--fond) 55%,transparent);color:var(--texte);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;backdrop-filter:blur(6px)}
.alaune-onglets button.actif{background:var(--texte);color:var(--fond);border-color:transparent}
@media (max-width:640px){.alaune{flex-direction:column;align-items:flex-start}.alaune-onglets{margin-left:0}}
@media (prefers-reduced-motion:reduce){.alaune-fonds i{transition:none;transform:none}}
.alaune-txt{max-width:560px;display:grid;gap:10px;justify-items:start}
.alaune-txt>*{animation:entreeUne .6s ease both}
.alaune-txt .pastille{position:static}
.alaune h1{margin:0;font-size:clamp(34px,7vw,72px);line-height:1;letter-spacing:-.03em;text-shadow:0 4px 24px rgba(0,0,0,.6)}
.alaune p{margin:0;color:#e6e1f0;text-shadow:0 1px 6px #000}
.alaune-btns{display:flex;gap:10px;flex-wrap:wrap}
@keyframes entreeUne{from{opacity:0;transform:translateY(16px)}}
.rangee{padding:0 4vw}
.rangee-tete{display:flex;justify-content:space-between;align-items:center}
.rangee-tete h2{margin:6px 0;font-size:clamp(17px,2.4vw,22px)}
.rangee-tete button{width:34px;height:34px;border-radius:50%;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font-size:20px;cursor:pointer;margin-left:6px}
.rangee-piste{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(150px,22vw,260px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:none}
.tuile{position:relative;display:grid;gap:4px;scroll-snap-align:start;text-decoration:none;transition:transform .25s}
.tuile:hover{transform:scale(1.04)}
.tuile-img{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--carte)}
.tuile-img img{width:100%;height:100%;object-fit:cover}
.tuile b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tuile small{color:var(--doux);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tuile.top{grid-template-columns:auto minmax(0,1fr);column-gap:4px}
.tuile.top>.tuile-img,.tuile.top>b,.tuile.top>small{grid-column:2}
.rangee-piste:has(.tuile.top){grid-auto-columns:clamp(200px,27vw,330px)}
.rang{grid-column:1;grid-row:1;align-self:end;margin-bottom:-4px;font-size:clamp(64px,7vw,96px);font-weight:900;line-height:.8;color:var(--fond);-webkit-text-stroke:3px rgba(255,255,255,.55);letter-spacing:-.06em;z-index:1;pointer-events:none}
.titre-section{margin:0;font-size:22px}
@media (max-width:520px){.alaune{min-height:56vh}.rangee-piste,.rangee-piste:has(.tuile.top){grid-auto-columns:66vw}.rang{font-size:64px}}
.rang.deux{letter-spacing:-.14em;font-size:clamp(52px,5.6vw,80px)}
/* Fil : bascule Défilement / Actualité, et mode « Actualité » (publications à la suite) */
/* Correctifs : les rangées défilent à l'intérieur de la page (pas de barre horizontale), bascule du fil sous le bandeau d'essai */
.vitrine,.vitrine>*,.rangee{min-width:0;max-width:100vw}
body{overflow-x:clip}

/* Modération : image floutée par le robot, drapeau de signalement, fenêtre Signaler */
.lecteur.flou video,.lecteur.flou>img{filter:blur(38px) saturate(.6);transform:scale(1.08)}
.lecteur.flou::after{content:'Image masquée par la modération automatique';position:absolute;inset:auto 0 12px;text-align:center;font-size:13px;color:#fff;text-shadow:0 1px 4px #000;pointer-events:none}
.fil p .drapeau{opacity:0;border:0;background:none;color:var(--doux);cursor:pointer;font-size:13px;margin-left:4px;padding:0 4px}
.fil p:hover .drapeau,.fil p .drapeau:focus-visible{opacity:1}
@media (hover:none){.fil p .drapeau{opacity:.55}}
.dialogue{border:1px solid var(--ligne);border-radius:16px;background:var(--carte);color:var(--texte);max-width:min(480px,calc(100vw - 32px));padding:20px}
.dialogue::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}
.signaler{display:grid;gap:12px}.signaler h2{margin:0}.signaler label{display:grid;gap:6px;font-weight:600}
.signaler select,.signaler textarea{font:inherit;padding:10px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond);color:var(--texte)}
.signaler .btns{display:flex;gap:8px;justify-content:flex-end}.signaler .petit{font-size:12px}.doux{color:var(--doux)}
/* Tableaux des pages d'information (modération) */
.tableau-defile{overflow-x:auto;max-width:100%}
.tableau{border-collapse:collapse;width:100%;font-size:14px}
.tableau th,.tableau td{border-bottom:1px solid var(--ligne);padding:8px 10px;text-align:left;vertical-align:top}
.tableau thead th{color:var(--doux);font-weight:700}
.tableau caption{text-align:left;padding-bottom:6px}

/* Top 10 dans la bannière : rangée de 10 vignettes avec grands numéros, qui défile toute seule (pause au survol) */
.top10{display:grid;gap:6px;min-width:0}
.top10 h2{margin:0;padding:0 4vw;font-size:clamp(16px,2vw,20px)}
.top10-fenetre{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.top10-piste{display:flex;width:max-content;animation:top10Defile 60s linear infinite}
.top10-double{display:flex}
.top10:hover .top10-piste,.top10:focus-within .top10-piste{animation-play-state:paused}
@keyframes top10Defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.top10-carte{display:flex;align-items:flex-end;flex:none;margin-right:14px;padding:0;border:0;background:none;color:inherit;cursor:pointer;font:inherit}
.top10-rang{font-size:clamp(70px,8vw,120px);font-weight:900;line-height:.8;color:var(--fond);-webkit-text-stroke:3px rgba(255,255,255,.6);letter-spacing:-.06em;margin-right:-10px;position:relative;z-index:1}
.top10-rang.deux{letter-spacing:-.16em;margin-right:-4px}
.top10-img{position:relative;display:block;width:clamp(130px,14vw,200px);aspect-ratio:16/10;border-radius:10px;overflow:hidden;outline:2px solid transparent;transition:transform .25s,outline-color .25s}
.top10-img img{width:100%;height:100%;object-fit:cover}
.top10-img .pastille{position:absolute;top:6px;left:6px}
.top10-carte:hover .top10-img{transform:scale(1.05)}
.top10-carte.actif .top10-img{outline-color:var(--texte)}
@media (prefers-reduced-motion:reduce){.top10-piste{animation:none}.top10-fenetre{overflow-x:auto}.top10-double{display:none}}
@media (max-width:640px){.alaune{min-height:62vh}.top10-img{width:38vw}}

/* Accueil : choix Lives / Vidéos / Photos */
.filtres.types{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--carte);border:1px solid var(--ligne);margin-bottom:12px;overflow:visible}
.filtres.types button{border:0;background:none;min-height:34px;padding:0 18px}
.filtres.types button.actif{background:var(--texte);color:var(--fond)}
.filtres.types .bouton-fil{display:inline-flex;align-items:center;min-height:34px;padding:0 18px;border-radius:999px;font-weight:700;font-size:14px;text-decoration:none;color:var(--texte)}
.filtres.types .bouton-fil:hover{background:color-mix(in oklch,var(--texte) 10%,transparent)}


/* ===== Fil « Pour toi » à la manière de TikTok (09/11/2026) ===== */
/* Défilement : plein écran, sans en-tête ; barre des onglets par-dessus */
.fil-immersif .entete,.fil-immersif .essai,.fil-immersif .pied{display:none}
.fil-pourtoi{height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;background:#000}
.fil-pourtoi::-webkit-scrollbar{display:none}
.fil-carte{position:relative;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;display:grid;place-items:center;background:#000;isolation:isolate}
.fil-carte::before{content:"";position:absolute;inset:-60px;z-index:-1;background:var(--img) center/cover;filter:blur(40px) brightness(.35) saturate(1.2)}
.fil-media{position:relative;height:100%;width:100%;display:block;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fil-media img,.fil-media video{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 9s ease-out}
.fil-carte.active .fil-media img{transform:scale(1.1)}
.fil-carte.est-live.active .fil-media img{animation:filRespire 6s ease-in-out infinite alternate}
@keyframes filRespire{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.1) translateY(-1.5%)}}
.fil-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 18%,transparent 55%,rgba(0,0,0,.75))}
.fil-haut{position:absolute;top:calc(60px + env(safe-area-inset-top));left:14px;right:80px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.fil-haut .pastille{position:static}
.fil-bas{position:absolute;left:0;right:76px;bottom:calc(18px + env(safe-area-inset-bottom));padding:0 14px;display:grid;gap:6px;justify-items:start;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.fil-bas p{margin:0}
.fil-auteur{font-weight:800;font-size:17px;text-decoration:none;color:#fff}
.fil-texte{font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fil-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px}.fil-tags span{font-weight:700}
.fil-tags .categorie{text-shadow:none}
.fil-cta{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:10px 16px;border-radius:999px;font-weight:800;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--rose),var(--violet));box-shadow:0 6px 20px rgba(0,0,0,.35);text-shadow:none}
.fil-cta .ic{width:18px;height:18px}
/* Colonne d'actions à droite */
.fil-actions{position:absolute;right:8px;bottom:calc(110px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:16px}
.fil-avatar{position:relative;display:block;width:52px;height:52px;border-radius:50%;border:2px solid #fff;overflow:visible}
.fil-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.fil-avatar.en-direct{border-color:var(--rouge,#ef4444);box-shadow:0 0 0 0 rgba(239,68,68,.7);animation:filPouls 1.6s infinite}
@keyframes filPouls{70%{box-shadow:0 0 0 10px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.fil-suivre{margin-top:-26px;width:24px;height:24px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--rose);color:#fff;cursor:pointer;padding:0;z-index:1;transition:transform .2s,background .2s}
.fil-suivre .ic{width:16px;height:16px;stroke-width:3}
.fil-suivre.suivi{background:#fff;color:var(--rose);transform:rotate(45deg) scale(.8);pointer-events:none}
.fil-bouton{display:grid;justify-items:center;gap:3px;border:0;background:none;color:#fff;text-decoration:none;cursor:pointer;padding:0;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.fil-bouton .ic{width:34px;height:34px;fill:rgba(255,255,255,.95);stroke:none}
.fil-bouton small{font-size:12px;font-weight:800}
.fil-bouton.actif .ic{fill:#ff2d55;animation:filBat .35s ease}
@keyframes filBat{50%{transform:scale(1.35)}}
/* Cœur du double tape */
.fil-coeur-anim{position:absolute;left:50%;top:45%;width:110px;height:110px;margin:-55px 0 0 -55px;opacity:0;pointer-events:none}
.fil-coeur-anim .ic{width:100%;height:100%;fill:#ff2d55;stroke:none;filter:drop-shadow(0 6px 20px rgba(255,45,85,.5))}
.fil-coeur-anim.joue{animation:filCoeur .9s ease forwards}
@keyframes filCoeur{0%{opacity:0;transform:scale(.3) rotate(-12deg)}25%{opacity:1;transform:scale(1.15) rotate(-12deg)}45%{transform:scale(.95) rotate(-12deg)}80%{opacity:1}100%{opacity:0;transform:scale(1.4) translateY(-40px) rotate(-12deg)}}
/* Barre de progression des vidéos */
.fil-progression{position:absolute;left:0;right:0;bottom:env(safe-area-inset-bottom);height:3px;background:rgba(255,255,255,.2)}
.fil-progression i{display:block;height:100%;width:0;background:#fff}
.fil-carte.active .fil-progression i{animation:filAvance var(--duree) linear infinite}
@keyframes filAvance{to{width:100%}}
/* Barre du haut : accueil, onglets Suivis · Pour toi, affichage */
.fil-barre{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;pointer-events:none}
.fil-barre>*{pointer-events:auto}
.fil-maison{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;background:rgba(0,0,0,.35);backdrop-filter:blur(8px)}
.fil-maison .ic{width:20px;height:20px}
.fil-onglets{display:flex;gap:18px}
.fil-onglets button{position:relative;border:0;background:none;color:rgba(255,255,255,.65);font:inherit;font-size:17px;font-weight:800;cursor:pointer;padding:6px 0;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.fil-onglets button.actif{color:#fff}
.fil-onglets button.actif::after{content:"";position:absolute;left:25%;right:25%;bottom:0;height:3px;border-radius:3px;background:#fff}
.mode-fil{display:flex;gap:2px;padding:3px;border-radius:999px;background:rgba(0,0,0,.35);backdrop-filter:blur(8px)}
.mode-fil button{display:grid;place-items:center;width:34px;height:32px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.7);cursor:pointer}
.mode-fil button .ic{width:18px;height:18px}
.mode-fil button.actif{background:#fff;color:#000}
.fil-fleches{display:none}
.fil-vide{height:100dvh;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;padding:24px;color:#fff}
.fil-vide h2{margin:0}
/* Ordinateur : le lecteur vertical 9:16 au centre, les actions à côté, flèches ▲ ▼ à droite (comme sur tiktok.com) */
@media (min-width:760px){
  .fil-media{height:calc(100% - 32px);width:auto;aspect-ratio:9/16;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
  .fil-media img,.fil-media video{border-radius:18px}
  .fil-haut{left:calc(50% - (100dvh - 32px) * 9 / 32 + 14px);right:auto;max-width:calc((100dvh - 32px) * 9 / 16 - 28px)}
  .fil-bas{left:calc(50% - (100dvh - 32px) * 9 / 32);right:auto;width:calc((100dvh - 32px) * 9 / 16);bottom:34px}
  .fil-actions{right:auto;left:calc(50% + (100dvh - 32px) * 9 / 32 + 16px);bottom:40px}
  .fil-bouton .ic{width:30px;height:30px;padding:12px;box-sizing:content-box;border-radius:50%;background:rgba(255,255,255,.12)}
  .fil-progression{left:calc(50% - (100dvh - 32px) * 9 / 32 + 10px);right:auto;width:calc((100dvh - 32px) * 9 / 16 - 20px);bottom:18px;border-radius:3px;overflow:hidden}
  .fil-fleches{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:30;display:grid;gap:12px}
  .fil-fleches button{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}
  .fil-fleches button:hover{background:rgba(255,255,255,.25)}
  .fil-fleches .ic{width:24px;height:24px}
  .fil-barre{padding:14px 24px}
}
/* Actualité : publications à la suite, en-tête du site visible */
.fil-actualite .fil-barre{position:sticky;top:0;background:color-mix(in oklch,var(--fond) 85%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--ligne)}
.fil-actualite .fil-onglets button{color:var(--doux);text-shadow:none}.fil-actualite .fil-onglets button.actif{color:var(--texte)}.fil-actualite .fil-onglets button.actif::after{background:var(--texte)}
.fil-actualite .fil-fleches{display:none}
.fil-pourtoi.actualite{height:auto;overflow:visible;scroll-snap-type:none;background:none;max-width:560px;margin:0 auto;padding:14px 12px 40px;display:grid;gap:22px}
.fil-pourtoi.actualite .fil-carte{height:auto;display:grid;grid-template-columns:1fr auto;grid-template-areas:"haut haut" "media media" "bas actions" "prog prog";border-radius:18px;background:var(--carte);border:1px solid var(--ligne);overflow:hidden}
.fil-pourtoi.actualite .fil-carte::before{display:none}
.fil-pourtoi.actualite .fil-media{grid-area:media;height:auto;width:100%;aspect-ratio:4/5;border-radius:0;box-shadow:none}
.fil-pourtoi.actualite .fil-media img{border-radius:0}
.fil-pourtoi.actualite .fil-media::after{background:none}
.fil-pourtoi.actualite .fil-haut{grid-area:haut;position:static;padding:10px 12px;max-width:none}
.fil-pourtoi.actualite .fil-bas{grid-area:bas;position:static;width:auto;padding:10px 12px 14px;color:var(--texte);text-shadow:none}
.fil-pourtoi.actualite .fil-auteur{color:var(--texte)}
.fil-pourtoi.actualite .fil-actions{grid-area:actions;position:static;flex-direction:row;align-items:flex-start;gap:14px;padding:12px}
.fil-pourtoi.actualite .fil-avatar,.fil-pourtoi.actualite .fil-suivre{display:none}
.fil-pourtoi.actualite .fil-bouton{color:var(--texte);filter:none}
.fil-pourtoi.actualite .fil-bouton .ic{width:26px;height:26px;padding:0;background:none;fill:none;stroke:currentColor;stroke-width:2}
.fil-pourtoi.actualite .fil-bouton.actif .ic{fill:#ff2d55;stroke:#ff2d55}
.fil-pourtoi.actualite .fil-progression{grid-area:prog;position:static;width:auto}
.fil-pourtoi.actualite .fil-vide{height:50vh;color:var(--texte)}
@media (prefers-reduced-motion:reduce){.fil-carte.active .fil-media img,.fil-carte.est-live.active .fil-media img{animation:none;transform:none}.fil-avatar.en-direct{animation:none}}

/* Série : éléments numérotés à la suite */
.album.serie{display:grid;gap:14px}.album.serie figure{margin:0;position:relative}.album.serie figcaption{position:absolute;top:8px;left:8px;z-index:1;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:800}
.album.serie img,.album.serie video{width:100%;border-radius:12px;display:block;background:#000}
/* Coffre média de la modèle */
.coffre{display:grid;gap:16px}
.coffre-jauge{height:12px;border-radius:999px;background:var(--carte2,#1d1a2b);overflow:hidden}.coffre-jauge i{display:block;height:100%;background:var(--degrade)}.coffre-jauge i.plein{background:var(--ambre)}
.coffre-depot{display:grid;gap:4px;justify-items:center;text-align:center;padding:26px 14px;border:2px dashed var(--ligne);border-radius:16px;cursor:pointer;transition:border-color .2s,background .2s}
.coffre-depot:hover,.coffre-depot.survol{border-color:var(--rose);background:color-mix(in oklch,var(--rose) 8%,transparent)}.coffre-depot span{color:var(--doux);font-size:13px}
.coffre-envoi{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:10px;align-items:center;font-size:13px}.coffre-envoi span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coffre-envoi small{color:var(--doux)}
.coffre-tete{display:flex;justify-content:space-between;align-items:center;gap:10px}.coffre-tete h3{margin:0}
.coffre-series{display:flex;gap:8px;flex-wrap:wrap}.coffre-serie{display:grid;gap:2px;text-align:left;padding:10px 14px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2,#1d1a2b);color:var(--texte);cursor:pointer;font:inherit}
.coffre-serie small{color:var(--doux)}.coffre-serie.actif{border-color:var(--rose)}
.coffre-edition{display:grid;gap:12px;border-top:1px solid var(--ligne);padding-top:12px}
.coffre-champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.coffre-champs label{display:grid;gap:4px;font-size:13px;font-weight:700}.coffre-champs .large{grid-column:1/-1}
.coffre-champs input,.coffre-champs select,.coffre-champs textarea{font:inherit;padding:9px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond);color:var(--texte)}
.coffre-ordre{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.coffre-vide-place{flex:none;width:96px;aspect-ratio:1;border-radius:10px;border:2px dashed var(--ligne);display:grid;place-items:center;color:var(--doux);font-weight:800}
.coffre-btns{display:flex;gap:8px;flex-wrap:wrap}.coffre-btns .btn[disabled]{opacity:.45;cursor:not-allowed}
.coffre-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.coffre-fichier{position:relative;margin:0;border-radius:12px;overflow:hidden;background:var(--carte2,#1d1a2b);border:2px solid transparent;cursor:pointer}
.coffre-fichier.choisi{border-color:var(--rose)}.coffre-fichier.mini{flex:none;width:96px;cursor:default}
.coffre-fichier img,.coffre-fichier video{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#000}
.coffre-fichier .pastille{position:absolute;top:6px;right:6px;left:auto}
.coffre-fichier figcaption{display:grid;padding:6px 8px;font-size:12px}.coffre-fichier figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coffre-fichier figcaption small{color:var(--doux)}
.coffre-rang{position:absolute;top:6px;left:6px;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--rose);color:#fff;font-weight:900;font-size:13px;display:grid;place-items:center}
.coffre-suppr{position:absolute;bottom:34px;right:6px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;font-size:16px;line-height:1}
.coffre-fleches{position:absolute;bottom:4px;left:0;right:0;display:flex;justify-content:center;gap:4px}.coffre-fleches button{width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;cursor:pointer}

/* ===== Roulette ===== */
.page-roulette .pied{display:none}
.roulette{max-width:1400px;margin:0 auto;padding:12px 16px 16px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"salles salles" "scene cote";height:calc(100dvh - 58px)}
.roulette-salles{grid-area:salles;display:inline-flex;justify-self:start;gap:4px;padding:4px;border-radius:999px;background:var(--carte);border:1px solid var(--ligne)}
.roulette-salles button{border:0;background:none;color:var(--doux);font:inherit;font-weight:800;padding:8px 18px;border-radius:999px;cursor:pointer}.roulette-salles button.actif{background:var(--texte);color:var(--fond)}
.roulette-scene{grid-area:scene;position:relative;border-radius:20px;overflow:hidden;background:#000;min-height:0}
.roulette-scene.demo{background:#000 var(--img) center/cover}
.roulette-scene.flou video#video{filter:blur(38px)}
.roulette-scene>video#video{width:100%;height:100%;object-fit:cover;display:block}
.roulette-moi{position:absolute;right:12px;bottom:12px;width:min(30%,220px);aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:2px solid rgba(255,255,255,.7);box-shadow:0 10px 30px rgba(0,0,0,.5);transform:scaleX(-1);z-index:2}
.roulette-etiquettes{position:absolute;top:12px;left:12px;display:flex;gap:8px;align-items:center;z-index:2;text-shadow:0 1px 4px #000}.roulette-etiquettes .pastille{position:static}
.roulette-accueil{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:radial-gradient(circle at 50% 40%,color-mix(in oklch,var(--violet) 35%,transparent),transparent 60%),#0b0a12;z-index:3}
.roulette-accueil h1{margin:0 0 8px;font-size:clamp(30px,5vw,52px);letter-spacing:-.03em}.roulette-accueil p{color:var(--doux);max-width:520px;margin:0 auto 16px}
.roulette-cote{grid-area:cote;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;min-height:0}
.roulette-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.roulette-actions .btn{min-height:40px;font-size:14px;padding:0 10px}.roulette-actions .btn:disabled{opacity:.4}
.roulette-suivant{grid-column:1/-1;min-height:52px!important;font-size:18px!important}
.roulette-chat{overflow-y:auto;background:var(--carte);border:1px solid var(--ligne);border-radius:16px;padding:10px;display:grid;align-content:start;gap:4px}
.roulette-chat p{margin:0;font-size:14px}.roulette-chat p.systeme{color:var(--doux);font-size:13px}
.roulette-tiroir{background:var(--carte);border:1px solid var(--ligne);border-radius:16px;padding:12px;max-height:46vh;overflow-y:auto}.roulette-tiroir h3{margin:0 0 4px}
.roulette-jeux{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.roulette-jeu-carte{display:grid;gap:4px;text-align:left;padding:10px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;cursor:pointer;transition:transform .15s,border-color .15s}
.roulette-jeu-carte:hover{transform:translateY(-2px);border-color:var(--rose)}.roulette-jeu-carte small{color:var(--doux);font-size:12px;line-height:1.3}.roulette-jeu-carte span{display:inline-flex;gap:4px;align-items:center;font-weight:800;color:var(--ambre)}
/* Jeux à l'écran */
.roulette-jeu{position:absolute;inset:0;display:grid;place-items:center;z-index:4;background:rgba(0,0,0,.35);backdrop-filter:blur(2px);padding:16px}
.jeu-boite{position:relative;display:grid;justify-items:center;gap:12px;text-align:center;max-width:460px;width:100%;padding:20px;border-radius:20px;background:color-mix(in oklch,var(--fond) 82%,transparent);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px rgba(0,0,0,.6);animation:jeuEntre .35s ease}
@keyframes jeuEntre{from{transform:scale(.85);opacity:0}}
.jeu-boite h3{margin:0;font-size:20px;background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent}
.jeu-fermer{position:absolute;top:8px;right:10px;border:0;background:none;color:var(--doux);font-size:22px;cursor:pointer}
.jeu-choix{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.jeu-defi{margin:0;font-size:18px;font-weight:800;padding:12px 16px;border-radius:14px;background:var(--degrade);color:#fff;animation:jeuDefi .6s .2s both}
@keyframes jeuDefi{from{transform:translateY(10px);opacity:0}}
.jeu-gage{margin:0;font-weight:700;color:var(--ambre)}
.jeu-roue{position:relative;width:220px;height:220px;border-radius:50%;border:4px solid #fff;animation:jeuTourne 3s cubic-bezier(.15,.8,.2,1) forwards;box-shadow:0 0 30px rgba(255,79,154,.5)}
.jeu-roue span{position:absolute;left:50%;top:50%;transform:rotate(var(--a)) translateY(-84px) translateX(-50%);transform-origin:0 0;font-weight:900;color:#fff;text-shadow:0 1px 3px #000}
@keyframes jeuTourne{from{transform:rotate(0)}to{transform:rotate(var(--fin))}}
.jeu-fleche{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:22px solid #fff;margin-top:-246px;margin-bottom:214px;filter:drop-shadow(0 2px 4px #000)}
.jeu-des{display:flex;gap:16px}.de{display:grid;place-items:center;width:70px;height:70px;border-radius:16px;background:#fff;color:#111;font-size:34px;font-weight:900;animation:jeuDe .8s ease}
@keyframes jeuDe{0%{transform:rotate(-200deg) scale(.4)}100%{transform:none}}
.jeu-coffres{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;font-size:30px}.coffre-jeu{opacity:.45}.coffre-jeu.ouvert{opacity:1;animation:jeuDe .6s ease;filter:drop-shadow(0 0 10px var(--ambre))}
.jeu-piece{display:grid;place-items:center;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fde68a,#d97706);color:#3b2600;font-weight:900;font-size:22px;animation:jeuPiece 1.2s ease}
@keyframes jeuPiece{0%{transform:rotateY(0)}100%{transform:rotateY(1440deg)}}
.jeu-thermo{position:relative;width:46px;height:200px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;display:grid;align-items:end}
.jeu-thermo i{display:block;height:var(--t);background:linear-gradient(to top,#f59e0b,#ef4444,#ff4f9a);animation:jeuThermo 1.2s ease}.jeu-thermo b{position:absolute;inset:auto 0 8px;text-align:center;font-size:13px}
@keyframes jeuThermo{from{height:0}}
.jeu-question{margin:0;font-size:18px;font-weight:800}
.jeu-cartes{display:flex;gap:18px}.carte{display:grid;place-items:center;width:78px;height:110px;border-radius:12px;background:#fff;color:#111;font-size:34px;font-weight:900;animation:jeuDe .7s ease}.carte small{font-size:11px;color:#555;font-weight:700}
.jeu-pfc{display:flex;gap:18px;font-size:18px}
.jeu-chrono{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--rose) 0 100%,transparent 0);animation:jeuChrono var(--s) linear forwards}.jeu-chrono b{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:var(--fond);font-size:34px}
@property --reste{syntax:'<percentage>';inherits:false;initial-value:100%}
@keyframes jeuChrono{from{--reste:100%}to{--reste:0%}}
.jeu-chrono{background:conic-gradient(var(--rose) 0 var(--reste),rgba(255,255,255,.12) 0)}
/* Téléphone : la vidéo en haut, les actions et le chat dessous */
@media (max-width:860px){.roulette{grid-template-columns:1fr;grid-template-areas:"salles" "scene" "cote";height:auto}.roulette-scene{aspect-ratio:3/4;max-height:68dvh}.roulette-cote{grid-template-rows:auto auto 220px auto}.roulette-actions{grid-template-columns:repeat(3,1fr)}.roulette-jeux{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.jeu-roue,.de,.jeu-piece,.jeu-thermo i,.carte,.jeu-boite{animation:none}.jeu-roue{transform:rotate(var(--fin))}}
/* Roulette : page de la modèle */
.roulette-modele{display:grid;gap:14px}
.rm-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.rm-grille .panneau,#session{display:grid;gap:10px}
.rm-grille label{display:grid;gap:4px;font-size:13px;font-weight:700}.rm-grille input[type=number]{font:inherit;padding:9px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond);color:var(--texte)}
.rm-jeux{display:grid;gap:6px;margin-top:8px}
.rm-demande{display:grid;gap:8px;padding:12px;border-radius:14px;border:1px solid var(--rose);background:color-mix(in oklch,var(--rose) 8%,transparent)}.rm-demande p{margin:0}
/* Roulette : correctifs de mise en page (onglets à leur taille, chat qui prend la hauteur restante) */
.roulette{grid-template-rows:auto minmax(0,1fr)}
.roulette-salles{align-self:start}
.roulette-cote{display:flex;flex-direction:column}
.roulette-cote .roulette-chat{flex:1;min-height:160px}
.roulette-cote .saisie{flex:none}
@media (max-width:860px){.roulette{grid-template-rows:auto auto auto}.roulette-cote .roulette-chat{flex:none;height:220px}}
.jeu-fleche ~ .jeu-defi{animation-delay:3s}.jeu-piece ~ .jeu-defi{animation-delay:1.2s}
/* Booster (modèle) */
.booster-offres{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:10px}
.booster-offre{display:grid;gap:4px;justify-items:start;padding:16px;border-radius:16px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;cursor:pointer;text-align:left;transition:transform .15s,border-color .15s}
.booster-offre:hover:not(:disabled){transform:translateY(-2px);border-color:var(--rose)}.booster-offre:disabled{opacity:.45;cursor:not-allowed}
.booster-offre b{font-size:17px}.booster-offre span{color:var(--doux)}.booster-offre strong{display:inline-flex;gap:4px;align-items:center;font-size:20px;color:var(--ambre)}.booster-offre small{color:var(--ambre)}
.coffre-champs select{font:inherit;padding:9px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond);color:var(--texte)}

/* Rangées qui défilent (étiquettes, filtres) : flèches et fondu sur le bord */
.defile{position:relative;min-width:0}
.defile>.filtres{margin-bottom:14px;scroll-behavior:smooth}
.defile-fleche{position:absolute;top:0;z-index:2;display:none;place-items:center;width:34px;height:36px;border:1px solid var(--ligne);border-radius:999px;background:var(--carte2);color:var(--texte);font-size:20px;line-height:1;cursor:pointer;box-shadow:0 0 0 6px var(--fond)}
.defile-fleche:hover{background:var(--texte);color:var(--fond)}
.defile-fleche.g{left:0}.defile-fleche.d{right:0}
.defile.a-gauche .defile-fleche.g,.defile.a-droite .defile-fleche.d{display:grid}
.defile.a-droite>.filtres{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 70px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 70px),transparent)}
.defile.a-gauche>.filtres{-webkit-mask-image:linear-gradient(90deg,transparent,#000 70px);mask-image:linear-gradient(90deg,transparent,#000 70px)}
.defile.a-gauche.a-droite>.filtres{-webkit-mask-image:linear-gradient(90deg,transparent,#000 70px,#000 calc(100% - 70px),transparent);mask-image:linear-gradient(90deg,transparent,#000 70px,#000 calc(100% - 70px),transparent)}
.filtres.types{overflow:visible}
/* Œil du mot de passe */
.mdp-zone{position:relative;display:block}.mdp-zone input{width:100%;padding-right:46px}
.mdp-oeil{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:none;color:var(--doux);cursor:pointer}
.mdp-oeil:hover,.mdp-oeil[aria-pressed=true]{color:var(--texte);background:color-mix(in oklch,var(--texte) 8%,transparent)}
/* FAQ */
.faq details{border:1px solid var(--ligne);border-radius:14px;background:var(--carte);margin:0 0 8px}
.faq summary{cursor:pointer;padding:14px 16px;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';color:var(--rose);font-size:20px;line-height:1}.faq details[open] summary::after{content:'–'}
.faq details p{margin:0;padding:0 16px 16px;color:var(--doux);line-height:1.6}.faq details p b{color:var(--texte)}
.faq h2{margin-top:28px;scroll-margin-top:80px}
.faq-onglets{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.faq-onglets a{padding:8px 14px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte);text-decoration:none;font-weight:700}
.coffre-personnes{border:1px solid var(--ligne);border-radius:12px;padding:10px;display:grid;gap:6px}.coffre-personnes legend{font-weight:800;padding:0 6px}.conditions a{color:var(--rose)}

/* ===== Accueil : types imagés, catégories, filtres en panneau latéral (09/11/2026) ===== */
.types-accueil{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 12px}
.types-accueil>*{flex:none;display:flex;align-items:center;gap:10px;padding:12px 20px 12px 14px;border-radius:18px;border:1px solid var(--ligne);background:linear-gradient(160deg,var(--carte2),var(--carte));color:var(--texte);font:inherit;font-weight:800;font-size:16px;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.types-accueil>* .ic{width:30px;height:30px;padding:6px;border-radius:11px;background:color-mix(in oklch,var(--texte) 8%,transparent);box-sizing:content-box}
.types-accueil>*:hover{transform:translateY(-2px);border-color:color-mix(in oklch,var(--rose) 50%,transparent)}
.types-accueil>.actif{background:var(--degrade);border-color:transparent;color:#fff;box-shadow:0 10px 28px -10px rgba(255,79,154,.8)}
.types-accueil>.actif .ic{background:rgba(255,255,255,.2)}
.barre-filtres{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:4px 0 8px}
.barre-filtres .defile{flex:1;min-width:0}.barre-filtres .filtres{margin:0}
.filtres.categories button{display:inline-flex;align-items:center;gap:8px}
.point{width:9px;height:9px;border-radius:50%;display:inline-block}.point.sfw{background:#22c55e}.point.public_explicite{background:var(--rose)}.point.live_premium{background:var(--ambre)}
.btn-filtres{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;font-weight:800;cursor:pointer}
.btn-filtres:hover{border-color:var(--rose)}.btn-filtres b{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--rose);color:#fff;display:grid;place-items:center;font-size:12px}
.filtres-actifs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.filtres-actifs:empty{display:none}
.puce-active{display:inline-flex;gap:6px;align-items:center;padding:6px 12px;border-radius:999px;border:0;background:color-mix(in oklch,var(--rose) 22%,transparent);color:var(--texte);font:inherit;font-weight:700;font-size:13px;cursor:pointer}
.puce-effacer{border:0;background:none;color:var(--doux);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.tiroir-filtres{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(420px,92vw);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--fond2);border-left:1px solid var(--ligne);box-shadow:-30px 0 60px rgba(0,0,0,.5);transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);visibility:hidden}
.tiroir-filtres.ouvert{transform:none;visibility:visible}
.tiroir-tete{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--ligne)}.tiroir-tete h2{margin:0}
.tiroir-fermer{width:38px;height:38px;border-radius:50%;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font-size:22px;cursor:pointer}
.tiroir-corps{overflow-y:auto;padding:12px 20px 20px;display:grid;gap:18px;align-content:start}
.tiroir-corps h3{margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--doux)}
.puces{display:flex;flex-wrap:wrap;gap:8px}
.puce{padding:8px 14px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font:inherit;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}
.puce:hover{border-color:var(--rose)}.puce.actif{background:var(--degrade);border-color:transparent;color:#fff}
.tiroir-pied{display:flex;gap:10px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--ligne)}.tiroir-pied .btn{flex:1}
.voile-filtres{position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}
body.tiroir-ouvert{overflow:hidden}
@media (prefers-reduced-motion:reduce){.tiroir-filtres{transition:none}}
.btn-filtres b[hidden]{display:none}
/* ===== Guide interactif en « stories » (09/11/2026) ===== */
.page-guide .pied{display:none}
.guide{max-width:1100px;margin:0 auto;padding:20px 16px 40px}
.guide-accueil{text-align:center;display:grid;gap:10px;justify-items:center}
.guide-sur{margin:0;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent}
.guide-accueil h1{margin:0;font-size:clamp(34px,6vw,64px);letter-spacing:-.03em}
.guide-parcours{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;width:100%;margin-top:18px}
.carte-parcours{position:relative;display:grid;justify-items:center;gap:6px;padding:22px 16px 18px;border-radius:24px;border:1px solid var(--ligne);background:radial-gradient(circle at 50% 0%,color-mix(in oklch,var(--c) 30%,transparent),transparent 70%),var(--carte);color:var(--texte);font:inherit;cursor:pointer;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.carte-parcours:hover{transform:translateY(-6px) rotate(-.5deg);border-color:var(--c);box-shadow:0 24px 50px -24px var(--c)}
.carte-parcours b{font-size:22px}.carte-parcours small{color:var(--doux)}
.carte-parcours-art .art{width:120px;height:120px}
.guide-story{position:relative;max-width:520px;margin:0 auto;min-height:min(80dvh,760px);border-radius:28px;overflow:hidden;padding:18px 22px 26px;display:grid;grid-template-rows:auto auto 1fr;background:radial-gradient(circle at 30% 0%,color-mix(in oklch,var(--c) 40%,transparent),transparent 60%),radial-gradient(circle at 100% 100%,rgba(123,63,228,.35),transparent 55%),var(--fond2);border:1px solid var(--ligne);box-shadow:0 30px 80px -30px var(--c)}
.story-barres{display:flex;gap:4px}.story-barres span{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.18);overflow:hidden}
.story-barres span i{display:block;height:100%;width:0;background:#fff}.story-barres .vu i{width:100%}
.story-barres .actuel i{animation:storyAvance linear forwards}.en-pause .story-barres .actuel i{animation-play-state:paused}
@keyframes storyAvance{to{width:100%}}
.story-tete{display:flex;justify-content:space-between;align-items:center;margin:12px 0 4px;font-weight:800;position:relative;z-index:3}
.story-btn{width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-size:15px}
.story-scene{position:relative;z-index:2;display:grid;align-content:center;justify-items:center;text-align:center;gap:12px;animation:storyEntre .5s ease;pointer-events:none}
.story-scene a,.story-scene button{pointer-events:auto}
@keyframes storyEntre{from{opacity:0;transform:translateY(16px) scale(.98)}}
.story-scene h2{margin:0;font-size:clamp(26px,5vw,38px);letter-spacing:-.02em}.story-scene p{margin:0;color:#e6e1f0;line-height:1.55;max-width:420px}
.story-art .art{width:min(240px,55vw);height:auto;filter:drop-shadow(0 18px 30px color-mix(in oklch,var(--c) 50%,transparent))}
.story-essai{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;position:relative;min-height:44px}
.story-compte{font-size:12px;color:var(--doux)!important}
.story-zone{position:absolute;top:90px;bottom:0;width:30%;z-index:1;border:0;background:none;cursor:pointer}.story-zone.prec{left:0}.story-zone.suiv{right:0}
/* Formes des illustrations */
.art .a-cadre{fill:rgba(255,255,255,.06);stroke:#fff;stroke-width:4}.art .a-ecran{fill:url(#none);fill:color-mix(in oklch,var(--c,#ff4f9a) 70%,#fff 0%)}
.art .a-trait{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.art .a-trait-blanc{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.art .a-trait-vert{fill:none;stroke:#22c55e;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.art .a-point,.art .a-rec{fill:#ef4444}.art .a-jeton{fill:#f59e0b}.art .a-de{fill:#fff}.art g circle{fill:#1f1c2e}
.art .a-pastille{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.3);stroke-width:2}
.art .a-jouet{fill:#ff4f9a}.art .a-ondes{fill:none;stroke:#ff4f9a;stroke-width:5;stroke-linecap:round;animation:ondes 1.4s ease-in-out infinite}
.art .a-bouclier{fill:#22c55e}.art .a-billet{fill:#22c55e}.art .a-roue{fill:rgba(255,255,255,.08);stroke:#22d3ee;stroke-width:6}.art .a-coeur{fill:#ff2d55}
.art .a-flamme{stroke:#f59e0b;stroke-width:6;stroke-linecap:round;animation:flamme .3s ease-in-out infinite alternate}
.a-pulse{animation:pulse 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.a-tourne{animation:tourne 6s linear infinite;transform-box:fill-box;transform-origin:center}.a-tourne-lent{animation:tourne 14s linear infinite;transform-box:fill-box;transform-origin:center}
.a-vibre{animation:vibre .25s linear infinite;transform-box:fill-box;transform-origin:center}.a-defile{animation:defileEcran 3s ease-in-out infinite}.a-monte{animation:monte 2.4s ease-in-out infinite}
.a-flotte{animation:monte 3s ease-in-out infinite}.a-bat{animation:bat 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.a-roule{animation:balance 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.a-roule.d2{animation-delay:.3s}
.a-trace{stroke-dasharray:120;stroke-dashoffset:120;animation:trace 1.2s .3s ease forwards}
@keyframes pulse{50%{transform:scale(1.08);opacity:.85}}@keyframes tourne{to{transform:rotate(360deg)}}@keyframes vibre{25%{transform:translateX(-2px) rotate(-2deg)}75%{transform:translateX(2px) rotate(2deg)}}
@keyframes defileEcran{50%{transform:translateY(-6px)}}@keyframes monte{50%{transform:translateY(-10px)}}@keyframes bat{30%{transform:scale(1.12)}60%{transform:scale(.96)}}@keyframes balance{50%{transform:rotate(-8deg)}}
@keyframes trace{to{stroke-dashoffset:0}}@keyframes ondes{50%{opacity:.25}}@keyframes flamme{to{transform:translateY(4px)}}
.art.vibre-fort{animation:vibreFort .7s linear}@keyframes vibreFort{10%,30%,50%,70%,90%{transform:translateX(-8px) rotate(-3deg)}20%,40%,60%,80%{transform:translateX(8px) rotate(3deg)}}
.art.lance{animation:lance .8s cubic-bezier(.2,.8,.2,1)}@keyframes lance{0%{transform:rotate(0) scale(.6)}100%{transform:rotate(720deg) scale(1)}}
.art.bat-fort{animation:batFort .6s ease}@keyframes batFort{40%{transform:scale(1.35)}}
.essai-piece{position:absolute;bottom:0;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fde68a,#f59e0b);box-shadow:0 0 12px #f59e0b;animation:piece 2s ease-out forwards;pointer-events:none}
@keyframes piece{0%{transform:translateY(0) scale(.6);opacity:1}100%{transform:translateY(-280px) scale(1.1) rotate(360deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.art *,.art,.story-scene,.essai-piece{animation:none!important}}
.guide-accueil[hidden],.guide-story[hidden]{display:none!important}

/* Roulette : caméra et micro */
.roulette-actions .btn.coupe{border-color:var(--rouge);color:#fca5a5}
.roulette-moi.cam-coupee{filter:brightness(.15) grayscale(1)}
.av-dialogue video{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#000;transform:scaleX(-1)}
.av-niveau{height:8px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.av-niveau i{display:block;height:100%;width:0;background:linear-gradient(90deg,#22c55e,#f59e0b,#ef4444);transition:width .08s}

/* En-tête : messages et coffre */
.entete-ic{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne);color:var(--texte)}
.entete-ic:hover{border-color:var(--rose)} .entete-ic i{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rose);color:#fff;font:800 11px/18px system-ui;font-style:normal;text-align:center}
.entete-ic i.cache{display:none}

/* CAMiaMessenger */
.page-messagerie{height:100dvh;display:flex;flex-direction:column}
.page-messagerie footer.pied{display:none}
.messenger{flex:1;min-height:0;display:grid;grid-template-columns:340px minmax(0,1fr);max-width:1400px;width:100%;margin:0 auto;border-top:1px solid var(--ligne)}
.mx-liste{overflow:auto;border-right:1px solid var(--ligne);background:var(--fond2);padding:12px}
.mx-tete h1{display:flex;align-items:center;gap:8px;font-size:22px;margin:4px 4px 0}.mx-tete small{display:block;margin:0 4px 12px;color:var(--doux)}
.mx-reglage{width:100%;margin-bottom:10px}
.mx-conv{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:14px;background:none;color:inherit;text-align:left;cursor:pointer}
.mx-conv:hover{background:var(--carte)}.mx-conv.actif{background:var(--carte2);box-shadow:inset 3px 0 0 var(--rose)}
.mx-conv-txt{flex:1;min-width:0;display:flex;flex-direction:column}.mx-conv-txt small{color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-conv.non-lu .mx-conv-txt b,.mx-conv.non-lu .mx-conv-txt small{color:var(--texte);font-weight:800}
.mx-conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;color:var(--doux)}.mx-conv-meta i{min-width:20px;height:20px;border-radius:999px;background:var(--rose);color:#fff;font:800 11px/20px system-ui;font-style:normal;text-align:center;padding:0 6px}
.mx-avatar{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--carte2)}
.mx-initiale{display:grid;place-items:center;font-weight:800;background:var(--degrade);color:#fff}.mx-initiale.camiapro{background:linear-gradient(135deg,var(--cyan),var(--violet))}
.mx-vide,.mx-accueil{display:grid;place-items:center;text-align:center;gap:10px;padding:40px 20px;color:var(--doux)}.mx-vide .ic,.mx-accueil .ic{width:48px;height:48px;color:var(--rose)}
.mx-accueil{height:100%}.mx-accueil h2{color:var(--texte);margin:0}.mx-accueil p{max-width:420px}
.mx-fil{display:flex;flex-direction:column;min-height:0;background:radial-gradient(ellipse at top,rgba(123,63,228,.12),transparent 60%)}
.mx-fil-tete{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--ligne);background:var(--fond2);flex-wrap:wrap}
.mx-fil-tete div{display:flex;flex-direction:column}.mx-fil-tete small{color:var(--doux)}
.mx-retour{display:none;border:0;background:none;color:var(--texte);font-size:30px;line-height:1;cursor:pointer;padding:0 6px}
.mx-messages{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:6px}
.mx-debut{text-align:center;color:var(--doux);margin:auto 0 8px}
.mx-bulle{max-width:min(72%,560px);padding:9px 13px;border-radius:18px;background:var(--carte2);line-height:1.4;overflow-wrap:anywhere;align-self:flex-start;border-bottom-left-radius:6px}
.mx-bulle.moi{align-self:flex-end;background:var(--degrade);color:#fff;border-bottom-left-radius:18px;border-bottom-right-radius:6px}
.mx-bulle time{display:block;font-size:11px;opacity:.65;margin-top:3px;text-align:right}.mx-bulle.retire{background:transparent;border:1px dashed var(--ligne);color:var(--doux)}
.mx-saisie{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--ligne);background:var(--fond2)}
.mx-saisie textarea{flex:1;resize:none;min-height:42px;max-height:160px;padding:10px 14px;border-radius:14px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font:inherit}
.mx-bandeau{margin:0;padding:14px;text-align:center;color:var(--doux);border-top:1px solid var(--ligne)}
.mx-paywall{margin:10px 14px 14px;padding:18px;border-radius:18px;background:var(--carte);border:1px solid rgba(255,79,154,.35);text-align:center}
.mx-paywall h3{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 6px}
.mx-formules{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:14px 0}
.mx-formule{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:14px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);cursor:pointer;transition:transform .15s,border-color .15s}
.mx-formule:hover{transform:translateY(-2px);border-color:var(--rose)}.mx-formule span{display:flex;align-items:center;gap:4px;font-size:20px;font-weight:800}.mx-formule small{color:var(--doux)}
.mx-prix{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
@media(max-width:799px){.messenger{grid-template-columns:1fr}.mx-fil{display:none}.mx-ouverte .mx-liste{display:none}.mx-ouverte .mx-fil{display:flex}.mx-retour{display:block}.mx-bulle{max-width:85%}.mx-fil-tete .btn{min-height:30px;padding:0 9px;font-size:13px}}

/* Mon coffre (utilisateur) */
.mc-tete{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 16px}.mc-tete h1{display:flex;align-items:center;gap:10px;margin:0}.mc-tete p{margin:4px 0 0}
.mc-corps{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start}
.mc-cote{position:sticky;top:76px;padding:14px;border-radius:var(--rayon);background:var(--carte);display:flex;flex-direction:column;gap:4px}.mc-cote h3{margin:6px 4px 6px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--doux)}
.mc-col-ligne{display:flex;align-items:center}.mc-col{flex:1;display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border:0;border-radius:10px;background:none;color:var(--texte);cursor:pointer;text-align:left;font:inherit}
.mc-col:hover{background:var(--carte2)}.mc-col.actif{background:var(--carte2);box-shadow:inset 3px 0 0 var(--rose);font-weight:800}.mc-col small{color:var(--doux)}
.mc-col-menu{border:0;background:none;color:var(--doux);cursor:pointer;padding:4px 8px;border-radius:8px}.mc-col-menu:hover{background:var(--carte2);color:var(--texte)}
.mc-nouvelle{display:flex;gap:6px;margin-top:6px}.mc-nouvelle input{flex:1;min-width:0;padding:8px 10px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond2);color:var(--texte)}
.mc-barre{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;margin-bottom:10px}
.mc-puces{display:flex;gap:6px;flex-wrap:wrap}.mc-themes-barre{margin-bottom:14px}
.puce{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);cursor:pointer;font:700 13px system-ui}
.puce.actif{background:var(--degrade);border-color:transparent;color:#fff}.puce small{opacity:.7}
.mc-tri{display:flex;align-items:center;gap:8px;color:var(--doux);font-size:14px}.mc-tri select{padding:6px 10px;border-radius:10px;background:var(--carte);color:var(--texte);border:1px solid var(--ligne)}
.mc-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.mc-carte{border-radius:var(--rayon);overflow:hidden;background:var(--carte);box-shadow:var(--ombre);display:flex;flex-direction:column;transition:transform .2s}.mc-carte:hover{transform:translateY(-3px)}
.mc-vignette{position:relative;display:block;aspect-ratio:4/5;background:var(--carte2)}.mc-vignette img{width:100%;height:100%;object-fit:cover;display:block}
.mc-type{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:rgba(0,0,0,.65);font:800 12px system-ui;color:#fff}.mc-type.gif{background:var(--violet)}
.mc-achete{position:absolute;right:8px;top:8px;display:flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;background:var(--ambre);color:#1a1200;font:800 11px system-ui}
.mc-infos{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px}.mc-infos b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-infos small{color:var(--doux)}.mc-infos small a{color:inherit}
.mc-themes{display:flex;gap:4px;flex-wrap:wrap}.mc-themes i{font-style:normal;font-size:11px;padding:2px 7px;border-radius:999px;background:rgba(123,63,228,.25);color:#d9c9ff}
.mc-actions{display:flex;gap:6px;margin-top:4px}
.mc-vide{display:grid;place-items:center;text-align:center;gap:8px;padding:50px 20px;border-radius:var(--rayon);background:var(--carte);color:var(--doux)}.mc-vide .ic{width:44px;height:44px;color:var(--rose)}.mc-vide h2{color:var(--texte);margin:0}
@media(max-width:860px){.mc-corps{grid-template-columns:1fr}.mc-cote{position:static}.mc-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Coffre de la modèle : vente guidée et conforme */
.coffre-vendre{position:absolute;left:6px;top:6px;display:flex;align-items:center;gap:3px;padding:3px 9px;border:0;border-radius:999px;background:var(--degrade);color:#fff;font:800 12px system-ui;cursor:pointer;opacity:.92}
.coffre-vendre:hover{opacity:1}
.coffre-themes{display:flex;flex-direction:column;gap:6px}.coffre-themes>span{font-size:14px;color:var(--doux)}
.puce-case{position:relative;cursor:pointer}.puce-case input{position:absolute;opacity:0}.puce-case span{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte2);font-size:13px}
.puce-case input:checked+span{background:var(--degrade);border-color:transparent;color:#fff}.puce-case input:focus-visible+span{outline:2px solid var(--cyan)}
.pub-dialogue{width:min(600px,94vw);max-width:94vw}.pub-dialogue form{width:auto;max-width:100%;overflow-x:hidden}.pub-corps{display:flex;flex-direction:column;gap:10px}
.pub-att .case,.pub-corps .case{display:flex;align-items:flex-start;gap:10px;font-weight:600;line-height:1.35}.pub-att .case input,.pub-corps .case input{flex:none;margin-top:2px;width:18px;height:18px}
.mc-tete .espace{flex:1}
.pub-etapes{display:flex;gap:4px;list-style:none;padding:0;margin:0 0 14px;counter-reset:e}
.pub-etapes li{flex:1;counter-increment:e;font-size:12px;color:var(--doux);text-align:center;padding-top:30px;position:relative}
.pub-etapes li::before{content:counter(e);position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--carte2);border:1px solid var(--ligne);font-weight:800}
.pub-etapes li.fait::before{content:"\2713";background:var(--vert);border-color:transparent;color:#04220f}.pub-etapes li.encours{color:var(--texte);font-weight:800}.pub-etapes li.encours::before{background:var(--degrade);border-color:transparent;color:#fff}
.pub-apercu{border-radius:14px;overflow:hidden;background:#000;max-height:280px;display:grid;place-items:center}.pub-apercu img,.pub-apercu video{max-width:100%;max-height:280px;display:block}
.pub-att{border:1px solid rgba(34,197,94,.35);border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.pub-att legend{display:flex;align-items:center;gap:6px;font-weight:800;padding:0 6px}
.pub-recap{display:flex;flex-direction:column;gap:2px;margin:12px 0;padding:10px 14px;border-radius:12px;background:var(--carte2)}.pub-recap span{color:var(--doux);font-size:14px}
.pub-delai{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(34,211,238,.1);color:#bdf4ff;font-size:14px}
.pub-suivi{display:flex;flex-direction:column;gap:8px;padding-left:0;list-style:none}.pub-suivi li{padding-left:28px;position:relative;color:var(--doux)}
.pub-suivi li::before{content:"";position:absolute;left:4px;top:3px;width:14px;height:14px;border-radius:50%;border:2px solid var(--ligne);box-sizing:border-box}
.pub-suivi li.fait{color:var(--texte)}.pub-suivi li.fait::before{background:var(--vert);border-color:var(--vert)}.pub-suivi li.encours{color:var(--texte);font-weight:800}.pub-suivi li.encours::before{border-color:var(--ambre);border-top-color:transparent;animation:pub-tourne 1s linear infinite}
@keyframes pub-tourne{to{transform:rotate(360deg)}}

/* Games : jaquettes et fenêtre de jeu flottante */
.games-grille .game-carte{border:0;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;width:100%}
.game-jaquette{aspect-ratio:4/3;background:hsl(var(--t,320) 45% 14%)}.game-jaquette img{width:100%;height:100%;object-fit:cover}
.game-jouer{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(11,10,18,.55);border:2px solid rgba(255,255,255,.7);color:#fff;font-size:24px;opacity:0;transform:scale(.8);transition:opacity .2s,transform .2s}
.game-carte:hover .game-jouer,.game-carte:focus-visible .game-jouer{opacity:1;transform:scale(1)}
.game-carte .infos span:not(.categorie){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.game-fenetre{position:fixed;z-index:200;display:flex;flex-direction:column;min-width:300px;min-height:220px;border-radius:16px;overflow:hidden;background:#0b0a12;border:1px solid rgba(255,79,154,.45);box-shadow:0 30px 80px -20px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.04)}
.game-barre{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 14px;background:linear-gradient(90deg,rgba(255,79,154,.25),rgba(123,63,228,.25));cursor:grab;touch-action:none;user-select:none}
.game-barre:active{cursor:grabbing}.game-barre b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-barre .espace{flex:1}
.game-barre button{width:32px;height:30px;border:0;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:16px;cursor:pointer}.game-barre button:hover{background:rgba(255,255,255,.18)}
.game-barre button[data-a=fermer]:hover{background:var(--rouge)}
.game-fenetre iframe{flex:1;width:100%;border:0;background:#0b0a12}
.game-poignee{position:absolute;right:0;bottom:0;width:22px;height:22px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.35) 50%,rgba(255,255,255,.35) 60%,transparent 60%,transparent 70%,rgba(255,255,255,.35) 70%,rgba(255,255,255,.35) 80%,transparent 80%)}
.game-fenetre.agrandie{inset:8px!important;width:auto!important;height:auto!important}.game-fenetre.agrandie .game-barre{cursor:default}
.game-fenetre.reduite{height:44px!important;min-height:0;width:280px!important}.game-fenetre.reduite iframe,.game-fenetre.reduite .game-poignee{display:none}
.game-fenetre:fullscreen{border-radius:0;border:0}
@media(max-width:700px){.game-fenetre:not(.reduite){inset:0!important;width:auto!important;height:auto!important;border-radius:0}}

/* Avertissements de l'équipe (page de diffusion) */
.sanctions-equipe{border:1px solid rgba(245,158,11,.5);background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(239,68,68,.08))}
.sanctions-equipe h3{display:flex;align-items:center;gap:8px;margin-top:0}.sanctions-equipe .sanction{padding:10px 12px;border-radius:12px;background:var(--carte2);margin-bottom:8px}
.sanctions-equipe .sanction p{margin:6px 0}.sanctions-equipe .sanction.ban_definitif,.sanctions-equipe .sanction.ban_temporaire{border-left:4px solid var(--rouge)}.sanctions-equipe .sanction.suspension{border-left:4px solid var(--ambre)}

/* Notifications : cloche, panneau, réglages */
.notifs-zone{position:relative;display:inline-flex}button.entete-ic{cursor:pointer;padding:0}
.notifs-panneau{position:absolute;right:0;top:calc(100% + 8px);z-index:150;width:min(380px,calc(100vw - 24px));max-height:min(70vh,560px);display:flex;flex-direction:column;border-radius:16px;background:var(--carte);border:1px solid var(--ligne);box-shadow:0 24px 60px -16px rgba(0,0,0,.8)}
.notifs-tete{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--ligne)}.notifs-tete button{border:0;background:none;color:var(--rose);font-weight:700;cursor:pointer}
.notifs-liste{overflow:auto;display:flex;flex-direction:column;padding:6px}
.notif{display:flex;gap:10px;padding:10px;border-radius:12px;color:inherit;text-decoration:none}.notif:hover{background:var(--carte2)}
.notif.non-lu{background:rgba(255,79,154,.08)}.notif.non-lu b::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--rose);margin-left:6px;vertical-align:middle}
.notif-ic{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--carte2);color:var(--rose)}.notif-ic.sanction{color:var(--ambre)}.notif-ic.vente{color:var(--vert)}.notif-ic.direct{color:var(--rouge)}.notif-ic.annonce{color:var(--cyan)}
.notif-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-txt small{color:var(--doux);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notif-txt time{font-size:11.5px;color:var(--doux)}
.notifs-vide{padding:20px;text-align:center}.notifs-pied{padding:10px 14px;border-top:1px solid var(--ligne);text-align:center;color:var(--rose);font-weight:700;text-decoration:none}
.notifs-reglages{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.interrupteur{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:12px;background:var(--carte2);cursor:pointer}.interrupteur input{position:absolute;opacity:0}
.int-curseur{flex:none;position:relative;width:40px;height:22px;border-radius:999px;background:var(--ligne);transition:background .2s;margin-top:2px}.int-curseur::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.interrupteur input:checked+.int-curseur{background:var(--rose)}.interrupteur input:checked+.int-curseur::after{transform:translateX(18px)}.interrupteur input:disabled+.int-curseur{opacity:.55}
.interrupteur input:focus-visible+.int-curseur{outline:2px solid var(--cyan);outline-offset:2px}.interrupteur span:last-child{display:flex;flex-direction:column}.interrupteur small{color:var(--doux)}
.pastille-nb{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--rose);color:#fff;font-size:12px;text-align:center}
@media(max-width:600px){.notifs-panneau{position:fixed;left:12px;right:12px;top:64px;width:auto}}

/* Profil public d'une modèle (refait le 09/11/2026) */
#profil{padding-top:0}
.pf-tete{position:relative;display:grid;gap:18px;margin:0 -16px 8px;padding:0 16px}
.pf-couv{height:clamp(170px,30vw,320px);margin:0 -16px;background:var(--couv) center 35%/cover;-webkit-mask-image:linear-gradient(to bottom,#000 45%,transparent);mask-image:linear-gradient(to bottom,#000 45%,transparent)}
.pf-identite{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"avatar nom" "actions actions";gap:14px 18px;align-items:end;margin-top:calc(-1 * clamp(70px,9vw,96px));position:relative}
.pf-avatar{grid-area:avatar;position:relative;width:clamp(96px,14vw,148px);aspect-ratio:1;border-radius:50%;padding:4px;background:var(--degrade);box-shadow:0 18px 40px -16px rgba(255,79,154,.6)}
.pf-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid var(--fond);background:var(--carte)}
.pf-avatar.en-direct{background:conic-gradient(var(--rouge),var(--rose),var(--rouge));animation:pf-halo 2.4s linear infinite}
.pf-live{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);padding:3px 10px;border-radius:999px;background:var(--rouge);color:#fff;font-size:11px;font-weight:900;letter-spacing:.06em;border:3px solid var(--fond);white-space:nowrap}
@keyframes pf-halo{50%{box-shadow:0 0 0 6px rgba(239,68,68,.18),0 18px 40px -16px rgba(239,68,68,.7)}}
.pf-nom{grid-area:nom;min-width:0;padding-bottom:6px}
.pf-nom h1{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:clamp(26px,4.4vw,44px);line-height:1.05;letter-spacing:-.03em;overflow-wrap:anywhere}
.pf-verifie{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:rgba(34,211,238,.14);color:var(--cyan);font-size:13px;font-weight:800;letter-spacing:0}
.pf-sous{margin:6px 0 0;color:var(--doux);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.pf-sous i{font-style:normal;opacity:.5}
.pf-actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pf-actions .btn small{font-weight:600;opacity:.75}
.btn.carre{width:42px;padding:0}
.btn-direct{background:linear-gradient(135deg,var(--rouge),var(--rose));box-shadow:0 6px 22px -8px rgba(239,68,68,.8)}
.entete-live{flex:none;white-space:nowrap}.entete-live .ic{animation:battre 1.6s infinite}.entete-live.en-direct{background:var(--rouge)}
@media (max-width:560px){.entete-live span{display:none}.entete-live{width:38px;padding:0}}
.pf-suivre.actif{background:rgba(255,79,154,.14);border-color:rgba(255,79,154,.5);color:#ff9ac4}.pf-suivre.actif svg{fill:currentColor}
.pf-abonne{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 14px;border-radius:12px;background:rgba(245,158,11,.12);color:#fcd34d;font-weight:800;font-size:14px}
.pf-chiffres{list-style:none;margin:0;padding:6px 0;display:flex;border-radius:var(--rayon);background:var(--carte);border:1px solid var(--ligne);justify-self:start}
.pf-chiffres li{display:grid;gap:0;padding:6px 26px;text-align:center}.pf-chiffres li+li{border-left:1px solid var(--ligne)}
.pf-chiffres b{font-size:22px;font-weight:900;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pf-chiffres span{color:var(--doux);font-size:13px}
.pf-bandeau{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:14px 16px;border-radius:var(--rayon);text-decoration:none;background:linear-gradient(120deg,rgba(239,68,68,.18),rgba(123,63,228,.18));border:1px solid rgba(239,68,68,.35)}
.pf-bandeau b{flex:1;min-width:160px}.pf-fleche{font-weight:800;color:#fff}
.pf-onglets{display:none;gap:4px;margin:6px 0 14px;padding:4px;border-radius:14px;background:var(--carte)}
.pf-onglets button{flex:1;min-height:40px;border:0;border-radius:10px;background:none;font-weight:800;cursor:pointer;color:var(--doux)}
.pf-onglets button[aria-selected=true]{background:var(--carte2);color:var(--texte)}.pf-onglets small{opacity:.6}
.pf-corps{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start;margin-top:14px}
.pf-apropos{position:sticky;top:72px;display:grid;gap:12px}
.pf-bloc{padding:16px;border-radius:var(--rayon);background:var(--carte);border:1px solid var(--ligne)}
.pf-bloc h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--doux)}
.pf-bloc p{margin:0 0 6px}.pf-bloc p:last-child{margin:0}
.pf-bio{white-space:pre-line;line-height:1.6}
.pf-planning{display:flex;gap:8px;align-items:flex-start}.pf-planning .ic{color:var(--rose);margin-top:2px}
.pf-jauge{height:10px;border-radius:999px;background:var(--carte2);overflow:hidden;margin:8px 0}.pf-jauge i{display:block;height:100%;background:var(--degrade);border-radius:inherit}
.pf-attributs{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-attributs div{display:grid;gap:2px}.pf-attributs dt{font-size:12px;color:var(--doux)}.pf-attributs dd{margin:0;font-weight:700}
.pf-puces{display:flex;flex-wrap:wrap;gap:6px}
.pf-puces>*{padding:5px 11px;border-radius:999px;background:var(--carte2);border:1px solid var(--ligne);font-size:13px;font-weight:700;text-decoration:none}
.pf-puces.dieses>*{color:#ff9ac4}.pf-puces a:hover{border-color:var(--rose)}
.pf-infos{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pf-infos li{display:flex;justify-content:space-between;gap:12px;font-size:14px}.pf-infos span{color:var(--doux)}.pf-infos b{text-align:right;display:inline-flex;gap:5px;align-items:center}
.pf-infos .ic{width:15px;height:15px;color:var(--cyan)}
.pf-filtres{margin-bottom:12px}.pf-filtres small{opacity:.6;margin-left:2px}
.doux{color:var(--doux)}
@media (max-width:860px){
  .pf-onglets{display:flex}
  .pf-corps{grid-template-columns:1fr;margin-top:0}
  .pf-apropos{position:static}
  .pf-corps[data-onglet=contenus] .pf-apropos,.pf-corps[data-onglet=apropos] .pf-contenus{display:none}
}
@media (max-width:560px){
  .pf-identite{grid-template-columns:1fr;grid-template-areas:"avatar" "nom" "actions";justify-items:center;text-align:center}
  .pf-nom h1,.pf-sous{justify-content:center}
  .pf-actions{display:grid;grid-template-columns:1fr 1fr 42px;width:100%}.pf-actions>:first-child{grid-column:1/-1}.pf-actions #abonner,.pf-actions .pf-abonne{grid-column:1/-1;order:5;justify-content:center}.pf-actions .btn small{display:none}
  .cache-mobile{display:none}
  .pf-chiffres{justify-self:stretch}.pf-chiffres li{flex:1;padding:6px 4px}.pf-chiffres b{font-size:18px}.pf-chiffres span{font-size:11px}
}

/* Bannière de l'accueil : réglages de l'équipe, annonces, invitation des modèles à lancer leur live (09/11/2026) */
.top10-piste{animation-duration:var(--duree,60s)}
.top10.fixe .top10-piste{animation:none}.top10.fixe .top10-fenetre{overflow-x:auto;scrollbar-width:none}
.top10-rang.etoile{-webkit-text-stroke:0;color:#fcd34d;font-size:clamp(50px,6vw,84px);margin-right:-2px;text-shadow:0 0 18px rgba(245,158,11,.6)}
.top10-carte.annonce .top10-img{display:grid;place-items:center;padding:10px}
.top10-annonce{font-weight:900;font-size:clamp(13px,1.3vw,16px);line-height:1.15;text-align:center;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.alaune-appel{align-self:stretch;margin:12px 4vw 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:16px;background:linear-gradient(120deg,rgba(239,68,68,.22),rgba(123,63,228,.22));border:1px solid rgba(239,68,68,.45);backdrop-filter:blur(8px)}
.alaune-appel>span:not(.alaune-appel-point){flex:1;min-width:200px}.alaune-appel small{display:block;color:var(--doux)}
.alaune-appel-point{width:12px;height:12px;border-radius:50%;background:var(--rouge);box-shadow:0 0 0 0 rgba(239,68,68,.7);animation:pulse-live 1.6s infinite;flex:none}
@keyframes pulse-live{70%{box-shadow:0 0 0 12px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.alaune-vide{min-height:auto;padding:8px 0}
.alaune{justify-content:space-between}.alaune-txt{margin-top:auto}
@media (prefers-reduced-motion:reduce){.alaune-appel-point,.entete-live .ic{animation:none}}
.alaune h1.alaune-titre-annonce{font-size:clamp(30px,5vw,54px);line-height:1.05}
/* Roulette : deux caméras, quatre dispositions, barre de commandes sur la vidéo (09/11/2026) */
.roulette-scene{display:grid;gap:8px;padding:0;background:#05040c}
.roulette-scene>video#video{display:none}
.rl-tuile{position:relative;min-width:0;min-height:0;border-radius:16px;overflow:hidden;background:#000}
.rl-tuile video{width:100%;height:100%;object-fit:cover;display:block}
.rl-elle{background:#000 var(--img,none) center/cover}
.roulette-scene.demo .rl-elle{background:#000 var(--img) center/cover}
.roulette-scene.flou .rl-elle video{filter:blur(38px)}
.rl-toi video{transform:scaleX(-1)}
.roulette-scene .roulette-moi{position:static;width:100%;height:100%;aspect-ratio:auto;border:0;box-shadow:none;border-radius:0}
.rl-toi-vide{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,color-mix(in oklch,var(--violet) 30%,transparent),var(--carte) 70%)}
.rl-badge{position:absolute;left:10px;top:10px;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);font-size:12px;font-weight:800;color:var(--doux)}
.rl-badge.vu{background:var(--vert);color:#04210f}
.rl-avis{position:absolute;left:10px;right:10px;bottom:76px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;background:rgba(11,10,18,.85);border:1px solid var(--ligne);backdrop-filter:blur(8px);font-size:13px}
.rl-poignee{display:none}
/* Dispositions */
.roulette-scene.mode-cote{grid-template-columns:1fr 1fr}
.roulette-scene.mode-dessous{grid-template-rows:1fr 1fr}
.roulette-scene.mode-incruste,.roulette-scene.mode-seule{grid-template-columns:1fr}
.roulette-scene.mode-incruste .rl-toi{position:absolute;right:14px;bottom:76px;width:min(30%,240px);aspect-ratio:3/4;z-index:3;border:2px solid rgba(255,255,255,.75);box-shadow:0 12px 30px rgba(0,0,0,.55);cursor:grab;touch-action:none}
.roulette-scene.mode-incruste .rl-toi .rl-poignee{display:block;position:absolute;right:0;bottom:0;width:22px;height:22px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.8) 50%)}
.roulette-scene.mode-incruste .rl-avis,.roulette-scene.mode-incruste .rl-toi-vide .btn{font-size:11px}
.roulette-scene.mode-incruste .rl-avis{bottom:8px;left:6px;right:6px;padding:6px 8px}
.roulette-scene .roulette-accueil,.roulette-scene .roulette-jeu{grid-area:1/1/-1/-1;z-index:4}
/* Barre de commandes */
.rl-barre{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:8px;padding:8px;border-radius:999px;background:rgba(11,10,18,.72);border:1px solid var(--ligne);backdrop-filter:blur(12px);box-shadow:var(--ombre);max-width:calc(100% - 20px)}
.rl-groupe{display:inline-flex;align-items:center;border-radius:999px;background:var(--carte2);border:1px solid var(--ligne)}
.rl-rond{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);cursor:pointer;transition:background .15s,transform .15s}
.rl-groupe .rl-rond{border:0;background:none}
.rl-rond:hover{transform:translateY(-1px);background:var(--carte)}.rl-rond:disabled{opacity:.4;cursor:not-allowed;transform:none}
.rl-rond .ic{width:22px;height:22px}
.rl-rond.actif{background:var(--degrade);color:#fff;border-color:transparent}
.rl-rond.coupe{background:var(--rouge);color:#fff}
.rl-chevron{display:grid;place-items:center;width:26px;height:46px;border:0;background:none;color:var(--doux);cursor:pointer;border-left:1px solid var(--ligne)}
.rl-chevron .ic{width:16px;height:16px}.rl-chevron:hover{color:var(--texte)}
.rl-barre .roulette-suivant{min-height:46px!important;font-size:16px!important;padding:0 22px;border-radius:999px}
.rl-menu{position:absolute;bottom:calc(100% + 10px);min-width:240px;max-width:min(340px,90vw);display:grid;gap:2px;padding:6px;border-radius:14px;background:var(--carte);border:1px solid var(--ligne);box-shadow:var(--ombre)}
.rl-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:10px;background:none;color:var(--texte);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.rl-menu button:hover{background:var(--carte2)}.rl-menu button[aria-checked=true]{background:color-mix(in oklch,var(--rose) 18%,transparent);font-weight:800}
.rl-menu button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rl-menu-titre{margin:4px 10px 6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--doux)}
.rl-menu hr{border:0;border-top:1px solid var(--ligne);margin:4px 0}.rl-menu-vide{margin:6px 10px;color:var(--doux);font-size:13px}
.roulette-actions{grid-template-columns:1fr 1fr}
@media (max-width:860px){.roulette-scene.mode-cote{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.rl-barre{gap:6px;padding:6px}.rl-rond{width:42px;height:42px}.rl-barre .roulette-suivant{padding:0 14px}}
.roulette-scene.demo{background:#05040c}
/* Roulette côté modèle : sa caméra et celle du visiteur dans une même scène */
.rm-scene{aspect-ratio:16/9;border-radius:16px;margin:8px 0}
.rm-scene.mode-dessous{aspect-ratio:4/5}
.rm-scene .rl-tuile:first-child video{transform:scaleX(-1)}
.rm-scene.mode-incruste .rl-visiteur{position:absolute;right:12px;bottom:12px;width:min(32%,220px);aspect-ratio:3/4;z-index:3;border:2px solid rgba(255,255,255,.75);box-shadow:0 12px 30px rgba(0,0,0,.55)}
.rm-scene.mode-seule .rl-visiteur{display:none}
.rm-scene.mode-cote:has(.rl-visiteur.cache),.rm-scene.mode-dessous:has(.rl-visiteur.cache){grid-template-columns:1fr;grid-template-rows:1fr}
.rm-modes{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--carte2);border:1px solid var(--ligne)}
.rm-modes button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:none;color:var(--doux);cursor:pointer}
.rm-modes button.actif{background:var(--degrade);color:#fff}
.rm-scene{grid-area:auto}
.rm-grille{align-items:start}
/* Scène de la room (09/11/2026) : mosaïque à plusieurs, battle, cadeaux, plein écran, miniature flottante, commandes repliables */
.videos{position:absolute;inset:0;display:grid;gap:4px}
.videos video{width:100%;height:100%;object-fit:contain;background:#000;min-height:0}
.videos[data-n="2"]{grid-template-columns:1fr 1fr}.videos[data-n="3"],.videos[data-n="4"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.videos[data-n="3"]>video{grid-row:span 2}
.tuile-live{position:relative;min-width:0;min-height:0;background:#000}.tuile-live video{object-fit:cover}
.tuile-live span{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.6);font-size:12px;font-weight:800}
.lecteur-bouton{position:absolute;z-index:6;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(11,10,18,.6);color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:opacity .25s,transform .25s}
.lecteur-bouton:hover{background:rgba(11,10,18,.85)}
.lecteur-bouton.plein{top:10px;right:10px}
.lecteur-bouton.mini-retour{display:none;top:6px;right:6px;width:30px;height:30px}
.battle{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:5;width:min(560px,calc(100% - 120px));display:grid;gap:4px;padding:8px 10px;border-radius:14px;background:rgba(11,10,18,.7);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14)}
.battle-tete{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:900;font-size:13px}
.battle-nom.a{color:#ff9ac4}.battle-nom.b{color:#7ee8f8}.battle-temps{font-variant-numeric:tabular-nums;padding:2px 8px;border-radius:8px;background:rgba(255,255,255,.12)}
.battle-barre{display:flex;height:16px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.1)}
.battle-barre i{display:flex;align-items:center;font-style:normal;font-size:11px;font-weight:900;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.battle-barre i.a{background:linear-gradient(90deg,#ff4f9a,#ff7ab8);justify-content:flex-start;padding-left:8px}.battle-barre i.b{flex:1;background:linear-gradient(90deg,#22d3ee,#0ea5e9);justify-content:flex-end;padding-right:8px}
.eff{font-style:normal;display:inline-flex;align-items:center;padding:0 5px;border-radius:6px;font-size:11px;background:rgba(255,255,255,.18)}.eff .cadeau-ic{width:14px;height:14px}
.cadeaux-rapides{position:absolute;left:10px;bottom:10px;z-index:5;display:flex;gap:6px;padding:6px;border-radius:14px;background:rgba(11,10,18,.55);backdrop-filter:blur(8px);transition:opacity .25s,transform .25s}
.cadeau-rapide{display:grid;justify-items:center;gap:0;width:44px;padding:4px 0;border:0;border-radius:10px;background:none;color:#fff;cursor:pointer}
.cadeau-rapide:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}.cadeau-rapide small{font-size:10px;font-weight:800;color:#fcd34d}
.cadeau-rapide.tous{font-size:20px;font-weight:900;color:var(--doux)}
.cadeau-ic{width:26px;height:26px;display:block}.cadeau-ic.grand{width:84px;height:84px;filter:drop-shadow(0 0 18px rgba(255,79,154,.6))}
.cadeau-anim{position:absolute;inset:0;z-index:7;pointer-events:none;display:grid;place-items:center}
.cadeau-vol{grid-area:1/1;display:grid;justify-items:center;gap:6px;text-align:center;animation:cadeau-vol 3.4s ease forwards}.cadeau-vol p{margin:0;padding:6px 14px;border-radius:12px;background:rgba(11,10,18,.7);backdrop-filter:blur(6px)}
.cadeau-vol.fin{animation-duration:4.8s}
@keyframes cadeau-vol{0%{opacity:0;transform:scale(.4) translateY(40px)}15%{opacity:1;transform:scale(1.1)}25%{transform:scale(1)}80%{opacity:1}100%{opacity:0;transform:translateY(-60px)}}
.cadeaux-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.cadeau-btn{display:grid;justify-items:center;gap:2px;padding:10px 6px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;cursor:pointer;transition:transform .15s,border-color .15s}
.cadeau-btn:hover{transform:translateY(-2px);border-color:var(--rose)}.cadeau-btn span{font-size:12px;font-weight:800;text-align:center}.cadeau-btn b{font-size:12px;color:var(--ambre)}
.cadeaux-camps{display:flex;gap:6px;margin-bottom:10px}.camp{flex:1;min-height:36px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font-weight:800;cursor:pointer}
.camp.a.actif{background:linear-gradient(90deg,#ff4f9a,#ff7ab8);color:#fff}.camp.b.actif{background:linear-gradient(90deg,#22d3ee,#0ea5e9);color:#041016}
.fil .cadeau{background:rgba(245,158,11,.14)}
/* Plein écran : la vidéo prend tout l'écran, les commandes restent dessus */
.lecteur:fullscreen{aspect-ratio:auto;border-radius:0}.lecteur:fullscreen .videos video{object-fit:contain}
/* Miniature flottante : quand on descend sous la vidéo, le live continue en bas à droite */
.lecteur.mini{position:fixed!important;right:16px;bottom:16px;width:min(340px,46vw);height:auto!important;aspect-ratio:16/9!important;min-height:0!important;z-index:60;border-radius:14px!important;box-shadow:0 18px 40px rgba(0,0,0,.6);animation:mini-entree .25s ease}
.lecteur.mini .battle,.lecteur.mini .cadeaux-rapides,.lecteur.mini .lecteur-bouton.plein,.lecteur.mini .reactions,.lecteur.mini .bandeau-tip{display:none}
.lecteur.mini .lecteur-bouton.mini-retour{display:grid}
@keyframes mini-entree{from{opacity:0;transform:translateY(20px)}}
/* Commandes repliées quand on ne s'en sert pas (elles reviennent au survol ou au toucher) */
.salon:not(.ui-visible) .lecteur:not(.mini) .lecteur-bouton.plein{opacity:0;transform:translateY(8px);pointer-events:none}
@media (max-width:980px){
  /* Onglets du chat tout en haut de la vidéo, sous la barre de battle ; ils remontent et s'effacent quand on ne s'en sert pas */
  .salon .chat .onglets-room{position:absolute;top:calc(-1 * (100svh - 120px - 46svh) + 10px);left:0;right:56px;z-index:6;transition:opacity .25s,transform .25s}
  .salon:not(.ui-visible) .chat .onglets-room{opacity:0;transform:translateY(-130%);pointer-events:none}
  .salon .chat{z-index:7;overflow:visible}
  .battle{top:56px;width:calc(100% - 24px)}
  .cadeaux-rapides{bottom:auto;top:calc(100svh - 120px - 46svh - 64px);left:10px}
  .lecteur.mini{width:min(240px,60vw)}
}

/* Invitation au hasard (page de diffusion) */
.lc-hasard{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne)}.lc-hasard select{min-height:36px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond2);padding:0 8px}.lc-hasard small{flex-basis:100%}
.lc-inviter{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.lc-inviter input,.lc-inviter select{min-height:36px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond2);padding:0 8px}.lc-inviter input{flex:1;min-width:180px}
.lc-liste{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.lc-liste li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--carte2)}.lc-liste li .doux{flex:1}
.lc-regles{display:grid;gap:4px;margin-top:10px}.lc-regles textarea{border-radius:10px;border:1px solid var(--ligne);background:var(--fond2);padding:8px;font:inherit;color:inherit}
/* Plein écran de la room : la vidéo en grand, le chat toujours visible, les jetons et les cadeaux à portée de main (09/11/2026) */
.salon:fullscreen{max-width:none;margin:0;padding:0;gap:0;grid-template-columns:minmax(0,1fr) 360px;height:100vh;background:#000;overflow:hidden}
.salon:fullscreen>section{position:relative;height:100vh;overflow:hidden;padding:0}
.salon:fullscreen .lecteur-place{height:100vh!important}
.salon:fullscreen .lecteur{height:100vh;aspect-ratio:auto;border-radius:0}
.salon:fullscreen .objectif,.salon:fullscreen .titre-salon,.salon:fullscreen #cadeaux{display:none}
.salon:fullscreen #tips{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:8;margin:0;padding:8px 10px;border-radius:14px;background:rgba(11,10,18,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14)}
.salon:fullscreen #tips h3,.salon:fullscreen #tips .case{display:none}
.salon:fullscreen .chat{position:static;height:100vh;border-radius:0;border-width:0 0 0 1px}
@media (max-width:980px){ .salon:fullscreen{grid-template-columns:1fr} .salon:fullscreen #tips{bottom:auto;top:calc(100svh - 46svh - 64px);left:auto;right:10px;transform:none} }

/* Niches (09/11/2026) : pages publiques et page « Mes niches » */
.niche-page{max-width:1000px}
.niche-type a{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--rose);text-decoration:none}
.niche-presentation{white-space:pre-line;line-height:1.65}
.niche-puces{display:flex;flex-wrap:wrap;gap:8px}.niche-puces a,.niche-puces .puce{padding:7px 12px;border-radius:999px;background:var(--carte2);border:1px solid var(--ligne);text-decoration:none;font-weight:700;font-size:14px;color:var(--texte);cursor:pointer}.niche-puces small{color:var(--doux);margin-left:4px}
.niche-lives{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.niche-live{position:relative;display:grid;gap:2px;text-decoration:none;border-radius:14px;overflow:hidden;background:var(--carte2)}.niche-live img{width:100%;aspect-ratio:16/9;object-fit:cover}.niche-live .pastille{position:absolute;top:8px;left:8px}.niche-live b,.niche-live small{padding:0 10px}.niche-live small{color:var(--doux);padding-bottom:8px}
.niche-membres{display:flex;flex-wrap:wrap;gap:12px}.niche-membres a{display:grid;justify-items:center;gap:4px;text-decoration:none;font-size:13px;font-weight:700;width:76px;text-align:center}.niche-membres img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.niche-dispos{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.niche-dispos li{padding:8px 10px;border-radius:10px;background:var(--carte2);font-size:14px}.niche-dispos time{color:var(--cyan);font-weight:800}
.niche-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.niche-post{padding:10px;border-radius:12px;background:var(--carte2);display:grid;gap:6px}.niche-post p{margin:0}.niche-post img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.niche-post a{text-decoration:none;display:grid;gap:4px}
.niche-fil{height:280px;overflow-y:auto;display:grid;align-content:start;gap:4px;padding:8px;border-radius:12px;background:var(--fond2);margin-bottom:8px}.niche-fil p{margin:0}.pseudo-modele{color:var(--rose)}
.niche-creer,.niche-publier{display:grid;gap:10px}.niche-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.niche-creer label,.niche-publier label{display:grid;gap:4px;font-size:13px;font-weight:700}
.niche-creer input,.niche-creer select,.niche-creer textarea,.niche-publier input,.niche-publier select,.niche-publier textarea{font:inherit;padding:9px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond2);color:var(--texte)}
.niche-carte .statut.attente{background:rgba(245,158,11,.15);color:#fcd34d}.niche-detail{display:grid;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--ligne)}
.page-texte a.btn{color:#fff}.page-texte a.btn.second{color:var(--texte)}.niche-live .pastille{color:#fff}.niche-live b{color:var(--texte)}
/* Roulette : bouton « Filtres » à côté des salles, filtres actifs sur leur propre ligne (09/11/2026) */
.roulette{grid-template-areas:"salles salles" "actifs actifs" "scene cote";grid-template-rows:auto auto minmax(0,1fr)}
.roulette>.barre-filtres{grid-area:salles;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.roulette>.filtres-actifs{grid-area:actifs;min-height:0}.roulette>.filtres-actifs:empty{display:none}
@media (max-width:860px){.roulette{grid-template-areas:"salles" "actifs" "scene" "cote";grid-template-rows:auto auto auto auto}}

/* Drapeaux (police Twemoji Country Flags, hébergée sur le site : Windows ne dessine pas les drapeaux en émoji) et présence dans l'en-tête (09/11/2026) */
@font-face{font-family:"Drapeaux";src:url("/assets/polices/TwemojiCountryFlags.woff2") format("woff2");unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;font-display:swap}
body,button,input,select{font-family:"Drapeaux",var(--police)}
.lieu-drapeau{font-size:22px;line-height:1;margin-left:2px;cursor:default;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.presence{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;background:var(--carte2);border:1px solid var(--ligne);font-size:13px;color:var(--doux);white-space:nowrap}
.presence b{color:var(--texte);font-variant-numeric:tabular-nums}.presence-sep{opacity:.5;margin:0 2px}
.presence-point{width:8px;height:8px;border-radius:50%;background:var(--vert);box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pulse-vert 2s infinite}
@keyframes pulse-vert{70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@media (max-width:560px){.presence{padding:5px 9px;font-size:12px}.presence span:last-child{display:none}}
@media (prefers-reduced-motion:reduce){.presence-point{animation:none}}

/* Fenêtre « Passer en direct » (09/11/2026) : cases alignées avec leur texte, ligne de la décharge cachée tant qu’on est seule à l’image */
.lancement{display:grid;gap:10px;max-width:560px}.lancement h2,.lancement h3{margin:0}.lancement h3{font-size:15px;margin-top:6px}
.lancement .case{display:flex!important;align-items:flex-start;gap:10px;font-weight:600}.lancement .case input{margin-top:3px;flex:none}.lancement .case span{display:block;line-height:1.45}
.lancement .case a{color:var(--rose)}.lancement [hidden]{display:none!important}.lancement .rm-jeux{display:grid;gap:6px;padding-left:26px}
.lancement-ajout summary{cursor:pointer;font-weight:800}.lancement-ajout[open] summary{margin-bottom:8px}

/* Roulette sans âge vérifié (09/11/2026) : caméra de l'autre floutée, chat masqué */
.roulette-scene.non-verifie .rl-elle video,.roulette-scene.non-verifie.demo .rl-elle{filter:blur(28px) brightness(.7)}
.roulette-scene.non-verifie .rl-elle{overflow:hidden}
.voile-age{position:absolute;inset:0;z-index:3;display:grid;place-items:center;text-align:center;padding:20px;background:rgba(11,10,18,.35)}
.voile-age div{display:grid;gap:8px;justify-items:center;max-width:340px;padding:18px;border-radius:16px;background:rgba(11,10,18,.78);backdrop-filter:blur(10px);border:1px solid var(--ligne)}.voile-age p{margin:0;color:var(--doux)}
.roulette-cote.non-verifie .roulette-chat p:not(.chat-verrou){filter:blur(6px);user-select:none}
.chat-verrou a{color:var(--rose)}

/* Page Compte connectée (09/11/2026) : toute la largeur, colonnes ajustées à la résolution (1 à 4), chaque bloc reste entier */
.compte:has(> section.panneau){max-width:min(1760px,100%);padding:24px clamp(12px,3vw,40px);display:block;columns:auto 360px;column-gap:16px}
.compte:has(> section.panneau) > *{break-inside:avoid;margin:0 0 16px;width:100%;display:block}
.compte:has(> section.panneau) > section.panneau{display:flow-root}
.compte:has(> section.panneau) > .compte-tete{column-span:all;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}.compte-tete h1{margin:0;font-size:clamp(22px,2.4vw,30px)}
.compte:has(> section.panneau) .table-defile,.compte:has(> section.panneau) .table{max-width:100%;overflow-x:auto}
@media (max-width:520px){.compte:has(> section.panneau){padding:14px 12px;columns:1}}

/* Onglets de l'accueil illustrés (09/11/2026) : vraie vignette en fond, voile dégradé, icône et compteur ; sans image, un dégradé */
.types-accueil{gap:12px;padding:2px 2px 14px;scroll-snap-type:x proximity}
.types-accueil>.tuile-type{position:relative;isolation:isolate;overflow:hidden;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px;width:clamp(150px,15vw,210px);height:clamp(92px,8.4vw,118px);padding:12px 14px;border-radius:20px;scroll-snap-align:start;
  background:radial-gradient(120% 90% at 100% 0%,color-mix(in oklch,var(--violet) 55%,transparent),transparent 60%),linear-gradient(150deg,color-mix(in oklch,var(--rose) 35%,var(--carte2)),var(--carte))}
.tuile-type .tuile-fond{position:absolute;inset:0;z-index:-1}
.tuile-type .tuile-fond img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 6s ease}
.tuile-type .tuile-fond img.vu{opacity:1;transform:scale(1)}
.tuile-type .tuile-fond::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,18,.05) 20%,rgba(11,10,18,.88) 100%)}
.tuile-type:hover .tuile-fond img.vu{transform:scale(1.08)}
.types-accueil>.tuile-type .ic{width:22px;height:22px;padding:6px;border-radius:10px;background:rgba(11,10,18,.45);backdrop-filter:blur(6px);color:#fff}
.tuile-type span:not(.tuile-fond){font-size:17px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.tuile-type .tuile-compte{position:absolute;top:9px;right:10px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:800;color:#fff;background:rgba(11,10,18,.55);backdrop-filter:blur(6px)}
.tuile-type .tuile-compte:empty{display:none}
.types-accueil>.tuile-type[data-type="live"] .tuile-compte::before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#ff3b6b;box-shadow:0 0 0 0 rgba(255,59,107,.7);animation:pouls 1.6s infinite}
.types-accueil>.tuile-type.actif{background:var(--degrade);box-shadow:0 12px 30px -10px rgba(255,79,154,.85);outline:2px solid #fff;outline-offset:-2px}
.types-accueil>.tuile-type.actif .tuile-fond::after{background:linear-gradient(180deg,rgba(255,79,154,.15),rgba(124,58,237,.85))}
@keyframes pouls{70%{box-shadow:0 0 0 7px rgba(255,59,107,0)}100%{box-shadow:0 0 0 0 rgba(255,59,107,0)}}
@media (max-width:520px){.types-accueil>.tuile-type{width:132px;height:84px;border-radius:16px;padding:10px 11px}.tuile-type span:not(.tuile-fond){font-size:15px}}

/* Pastille « Série » sur les cartes de contenu (10/11/2026) */
.pastille.serie{left:8px;right:auto;top:8px;bottom:auto;background:linear-gradient(135deg,#7c3aed,#ff4f9a);color:#fff}

/* Bandeau « CAMia Live a été mis à jour » en bas de page (10/11/2026) */
.avis-maj{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;width:min(720px,calc(100% - 24px));padding:12px 16px;border-radius:16px;background:var(--carte2);border:1px solid color-mix(in oklch,var(--rose) 45%,var(--ligne));box-shadow:var(--ombre);animation:majEntree .35s ease}
.avis-maj span{flex:1 1 260px;font-size:14px}
@keyframes majEntree{from{transform:translate(-50%,20px);opacity:0}}

/* Logo CAMia Live (10/11/2026) : lèvres brillantes et point « en direct » qui palpite ; « Live » en italique néon */
.logo{gap:9px}
.logo i{position:relative;width:34px;height:34px;padding:0;border-radius:11px;background:none;box-shadow:0 0 20px rgba(255,45,111,.45);transition:transform .25s}
.logo i img{display:block;width:34px;height:34px}
.logo i::after{content:"";position:absolute;top:2px;right:2px;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 0 rgba(255,59,92,.8);animation:logoPouls 1.8s infinite}
.logo:hover i{transform:rotate(-8deg) scale(1.06)}
.logo b{font-weight:900;letter-spacing:-.03em;background:linear-gradient(90deg,#fff,#ffd1e6);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo em{font-style:italic;font-weight:900;letter-spacing:-.01em;margin-left:-4px;background:linear-gradient(90deg,#ff5fa8,#ff2d6f 50%,#b14cf5);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 18px rgba(255,45,111,.35)}
.logo small{margin-left:2px;font-size:11px;font-weight:800;color:#fcd34d;align-self:flex-start;margin-top:2px}
@keyframes logoPouls{70%{box-shadow:0 0 0 8px rgba(255,59,92,0)}100%{box-shadow:0 0 0 0 rgba(255,59,92,0)}}
@media (prefers-reduced-motion:reduce){.logo i::after{animation:none}}
@media (max-width:520px){.logo small{display:none}.logo i,.logo i img{width:30px;height:30px}}

/* Bannières promotionnelles (10/11/2026) : à la place du bandeau « Version d'essai », réglées dans l'administration de CAMia Live */
.zone-bandeau:empty{display:none}
.bannieres{position:relative}
.banniere-promo{position:relative;isolation:isolate;overflow:hidden;display:none;align-items:center;gap:14px;min-height:44px;padding:8px clamp(16px,4vw,48px);background:var(--bf,linear-gradient(90deg,#2a0f2e,#3b1150 60%,#22103a));color:var(--bc,#ffd1e6);text-decoration:none;font-weight:800;font-size:14px}
.banniere-promo.vu{display:flex;animation:bpEntree .6s ease}
.banniere-promo.h-moyenne{min-height:clamp(84px,9vw,120px);font-size:clamp(16px,1.6vw,22px)}
.banniere-promo.h-grande{min-height:clamp(130px,15vw,210px);font-size:clamp(18px,2.2vw,30px)}
.banniere-promo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.banniere-promo.avec-image::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,10,18,.88) 0%,rgba(11,10,18,.55) 45%,rgba(11,10,18,.05) 80%)}
.bp-texte{max-width:min(720px,70%);text-shadow:0 2px 12px rgba(0,0,0,.5);line-height:1.25}
.bp-bouton{flex:none;padding:8px 16px;border-radius:999px;background:var(--degrade);color:#fff;font-size:13px;box-shadow:0 8px 22px -10px rgba(255,79,154,.9)}
a.banniere-promo:hover .bp-bouton{filter:brightness(1.1)}
.bp-points{position:absolute;right:14px;bottom:8px;display:flex;gap:5px}.bp-points i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35)}.bp-points i.vu{background:#fff;width:16px;border-radius:4px}
.essai.coupe{background:rgba(239,68,68,.16);color:#fecaca}
@keyframes bpEntree{from{opacity:0}}
@media (max-width:520px){.banniere-promo{gap:10px;padding:8px 12px}.bp-texte{max-width:none;flex:1}.bp-bouton{padding:6px 12px;font-size:12px}}
/* Écran de maintenance */
.maintenance-ecran{min-height:70vh;display:grid;place-items:center;padding:32px 16px;text-align:center}
.maintenance-ecran>div{display:grid;gap:12px;justify-items:center;max-width:520px}
.maintenance-ecran img{filter:drop-shadow(0 0 24px rgba(255,45,111,.5))}
.maintenance-ecran h1{margin:0;font-size:clamp(26px,4vw,38px)}.maintenance-ecran p{margin:0}

/* Chronomètre du live (10/11/2026) */
.chrono-live{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:rgba(255,59,92,.14);color:#ffb4c4;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums}
.chrono-live .ic{width:14px;height:14px}
#chronoRoom{margin-left:8px}
.duree-case{display:inline-flex;font-size:12.5px;margin-left:8px;vertical-align:middle}

/* État de la caméra sur la page de diffusion (10/11/2026) */
.etat-cam{margin:6px 0 10px;font-size:13.5px;color:var(--doux);min-height:1.2em}
.etat-cam.ok{color:#86efac}.etat-cam.erreur{color:#fca5a5}.etat-cam.avertissement{color:#fcd34d}

/* Mes limites (10/11/2026) */
.pause-ligne{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.pause-ligne select{min-height:36px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond2);color:inherit;padding:0 8px}

/* Bandeau d'état de la page de diffusion (10/11/2026) */
.bandeau-direct{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px;border-radius:16px;margin-bottom:12px;border:1px solid var(--ligne)}
.bandeau-direct span{flex:1 1 280px;color:var(--doux);font-size:14px}
.bandeau-direct.off{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.35)}.bandeau-direct.off b{color:#fcd34d}
.bandeau-direct.on{background:rgba(255,59,92,.12);border-color:rgba(255,59,92,.4)}.bandeau-direct.on b{color:#ffb4c4}

/* Titulaire du compte à vérifier (10/11/2026) */
.bandeau-direct.titulaire{background:rgba(124,58,237,.12);border-color:rgba(124,58,237,.4)}.bandeau-direct.titulaire b{color:#d8c4ff}

/* Recherche (10/11/2026) */
.recherche-dlg{border:0;padding:0;background:transparent;width:min(560px,calc(100% - 24px));margin:10vh auto auto;color:var(--texte)}
.recherche-dlg::backdrop{background:rgba(5,4,10,.7);backdrop-filter:blur(4px)}
.recherche-boite{background:var(--carte2);border:1px solid var(--ligne);border-radius:18px;box-shadow:var(--ombre);overflow:hidden}
.recherche-champ{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--ligne)}.recherche-champ .ic{width:20px;height:20px;color:var(--doux)}
.recherche-champ input{flex:1;min-width:0;border:0;background:transparent;color:var(--texte);font-size:17px;outline:none}
.recherche-res{max-height:60vh;overflow:auto;padding:8px}.recherche-res h4{margin:8px 8px 4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--doux)}
.recherche-ligne{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;color:var(--texte);text-decoration:none}.recherche-ligne:hover,.recherche-ligne:focus-visible{background:color-mix(in oklch,var(--texte) 7%,transparent)}
.recherche-ligne img,.recherche-av{width:40px;height:40px;border-radius:12px;object-fit:cover;flex:none}.recherche-av{display:grid;place-items:center;font-weight:900;background:var(--degrade);color:#fff}
.recherche-ligne span:not(.recherche-av):not(.pastille-direct){display:grid;flex:1;min-width:0}.recherche-ligne small{color:var(--doux);font-size:12.5px}
.pastille-direct{display:inline-block;padding:0 6px;border-radius:6px;background:#ff3b5c;color:#fff;font-size:10.5px;font-weight:900}

/* Roue dentée de la modèle dans sa room (10/11/2026) */
.roue-live{margin-left:auto;flex:none;width:36px;height:36px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font-size:18px;cursor:pointer;display:grid;place-items:center}
.roue-live:hover{border-color:var(--rose);transform:rotate(30deg);transition:transform .25s}
.roue-dlg label{display:grid;gap:6px;margin:8px 0}.roue-dlg select{min-height:40px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond2);color:inherit;padding:0 8px}

/* Alerte : en direct sans image (10/11/2026) */
.bandeau-direct.alerte{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.5)}.bandeau-direct.alerte b{color:#fecaca}

/* Pseudo cliquable et menu de modération dans le chat (10/11/2026) */
.pseudo-chat{border:0;background:none;padding:0;font:inherit;font-weight:800;color:var(--rose,#ff4f9a);cursor:pointer}.pseudo-chat:hover{text-decoration:underline}
#fil p{position:relative}
.menu-pseudo{position:absolute;z-index:20;left:0;top:100%;display:grid;gap:2px;min-width:210px;padding:8px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne);box-shadow:var(--ombre)}
.menu-pseudo b{padding:2px 8px 6px;font-size:13px}.menu-pseudo hr{border:0;border-top:1px solid var(--ligne);margin:4px 0}
.menu-pseudo button{border:0;background:none;color:var(--texte);text-align:left;padding:7px 8px;border-radius:8px;font:inherit;font-size:13.5px;cursor:pointer}.menu-pseudo button:hover{background:color-mix(in oklch,var(--texte) 8%,transparent)}.menu-pseudo button.danger{color:#fca5a5}
.drapeau.spam{opacity:.55}.drapeau.spam:disabled{opacity:.25}

/* Bandeau « Vue diffuseur » (10/11/2026) */
.bandeau-vue{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 16px 0;padding:10px 14px;border-radius:14px;background:rgba(255,59,92,.12);border:1px solid rgba(255,59,92,.4)}.bandeau-vue b{color:#ffb4c4}.bandeau-vue span{flex:1 1 280px;color:var(--doux);font-size:13.5px}

/* Profil de la modèle sous la vidéo (10/11/2026) */
.profil-live{margin:12px 0;padding:14px;border-radius:16px;background:var(--carte);border:1px solid var(--ligne)}
.profil-live-tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:10px}.profil-live-tete b{font-size:16px}
.profil-live-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.profil-live-carte{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:var(--carte2);border:1px solid var(--ligne)}
.profil-live-lien{display:flex;gap:10px;align-items:center;color:var(--texte);text-decoration:none}.profil-live-lien:hover b{color:var(--rose,#ff4f9a)}
.profil-live-ic{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:color-mix(in oklch,var(--rose,#ff4f9a) 18%,transparent);font-size:20px}
.profil-live-lien span:last-child{display:grid}.profil-live-lien small{color:var(--doux);font-size:12.5px}
.profil-live-carte .btn{align-self:flex-start}

/* Miniature flottante déplaçable et redimensionnable (10/11/2026) */
.lecteur.mini{cursor:grab;touch-action:none}.lecteur.mini:active{cursor:grabbing}
.mini-taille{display:none}.lecteur.mini .mini-taille{display:block;position:absolute;right:2px;bottom:2px;width:18px;height:18px;z-index:5;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.75) 50%,rgba(255,255,255,.75) 60%,transparent 60%,transparent 70%,rgba(255,255,255,.75) 70%,rgba(255,255,255,.75) 80%,transparent 80%);border-radius:0 0 12px 0}

/* Panneaux du profil sous la vidéo (10/11/2026) */
button.profil-live-lien{border:0;background:none;padding:0;font:inherit;text-align:left;cursor:pointer;width:100%}
.profil-live-carte.ouvert{border-color:var(--rose,#ff4f9a);box-shadow:0 0 0 1px var(--rose,#ff4f9a) inset}
.profil-panneau{margin-top:12px;padding:12px;border-radius:14px;background:var(--fond2,#0f0d17);border:1px solid var(--ligne)}
.pp-vide{margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--doux)}
.pp-fil{display:grid;gap:8px}.pp-post{display:block;padding:10px;border-radius:12px;background:var(--carte2);color:var(--texte);text-decoration:none}.pp-post p{margin:4px 0}.pp-post small{color:var(--doux)}
.pp-media{display:flex;gap:10px;align-items:center}.pp-media img{width:84px;height:56px;object-fit:cover;border-radius:10px;flex:none}
.pp-tag{font-size:12px;font-weight:800;color:var(--rose,#ff4f9a)}
.pp-univers{display:flex;flex-wrap:wrap;gap:8px}.pp-chip{display:grid;padding:8px 12px;border-radius:12px;background:var(--carte2);color:var(--texte);text-decoration:none;border:1px solid var(--ligne)}.pp-chip small{color:var(--doux)}
.pp-fan{display:grid;gap:8px;justify-items:start}.pp-fan-prix b{font-size:28px;background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent}.pp-fan ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.pp-boutique{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.pp-article{display:grid;gap:4px;color:var(--texte);text-decoration:none}.pp-article small{color:var(--doux)}
.pp-img{position:relative;display:block}.pp-img img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;display:block}.pp-badge{position:absolute;left:6px;top:6px;padding:2px 7px;border-radius:7px;font-size:11px;font-weight:900;background:var(--degrade);color:#fff}

/* Jetons et cadeaux collés sous la vidéo (10/11/2026) : on envoie sans descendre dans la page */
.zone-jetons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.zone-jetons>.panneau{margin:0;padding:8px 10px;border-radius:14px}
.zone-jetons>#tips{flex:0 1 auto}.zone-jetons>#cadeaux{flex:1 1 300px;min-width:0}
.zone-jetons h3{margin:0 0 6px;font-size:12.5px;font-weight:800;color:var(--doux);text-transform:uppercase;letter-spacing:.04em}
.zone-jetons .montants{gap:6px}.zone-jetons .montants button{min-height:38px;padding:0 13px}
.zone-jetons .case{margin-top:6px!important;font-size:12.5px}
.zone-jetons .cadeaux-grille{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.zone-jetons .cadeau-btn{flex:none;width:72px;padding:6px 4px}.zone-jetons .cadeau-btn .cadeau-ic{width:26px;height:26px}
.objectif-modif{margin-left:auto;flex:none}
.objectif-txt{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media (max-width:980px){ .zone-jetons{margin:8px 12px 0} }
/* Cadeaux rapides sur la vidéo : ils flottent puis vibrent, chacun à son tour (10/11/2026) */
.cadeau-rapide .cadeau-ic{animation:cadeau-vivant 6s ease-in-out infinite;transform-origin:50% 70%}
.cadeau-rapide:nth-child(2) .cadeau-ic{animation-delay:-1.2s}.cadeau-rapide:nth-child(3) .cadeau-ic{animation-delay:-2.4s}
.cadeau-rapide:nth-child(4) .cadeau-ic{animation-delay:-3.6s}.cadeau-rapide:nth-child(5) .cadeau-ic{animation-delay:-4.8s}
.cadeau-rapide:nth-child(6) .cadeau-ic{animation-delay:-.6s}.cadeau-rapide:nth-child(7) .cadeau-ic{animation-delay:-3s}
.zone-jetons .cadeau-btn .cadeau-ic{animation:cadeau-vivant 7s ease-in-out infinite}
.zone-jetons .cadeau-btn:nth-child(2n) .cadeau-ic{animation-delay:-2.3s}.zone-jetons .cadeau-btn:nth-child(3n) .cadeau-ic{animation-delay:-4.6s}
.cadeau-rapide:hover .cadeau-ic,.cadeau-btn:hover .cadeau-ic{animation:cadeau-vibre .35s linear infinite}
@keyframes cadeau-vivant{0%,100%{transform:translateY(0)}12%{transform:translateY(-5px)}25%{transform:translateY(0)}37%{transform:translateY(-4px)}50%{transform:translateY(0)}
  54%{transform:rotate(-9deg) scale(1.08)}57%{transform:rotate(9deg) scale(1.08)}60%{transform:rotate(-7deg) scale(1.06)}63%{transform:rotate(7deg) scale(1.06)}66%{transform:rotate(-4deg)}69%{transform:rotate(0)}}
@keyframes cadeau-vibre{0%,100%{transform:rotate(0) scale(1.12)}25%{transform:rotate(-8deg) scale(1.12)}75%{transform:rotate(8deg) scale(1.12)}}
@media (prefers-reduced-motion:reduce){ .cadeau-rapide .cadeau-ic,.cadeau-btn .cadeau-ic{animation:none!important} }

/* Vue diffuseur : pas de cadeaux à offrir (10/11/2026) */
body.vue-diffuseur #cadeaux,body.vue-diffuseur #cadeauxRapides{display:none!important}
/* Scènes des cadeaux sur la vidéo (10/11/2026) */
.cg-scene{position:absolute;inset:0;container-type:size;overflow:hidden;pointer-events:none;display:grid;place-items:center;animation:cg-fondu var(--duree) ease forwards}
@keyframes cg-fondu{0%{opacity:0}6%{opacity:1}85%{opacity:1}100%{opacity:0}}
.cg-lueur{position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--lueur) 55%,transparent) 0,transparent 55%);animation:cg-lueur 1.4s ease-in-out infinite alternate;mix-blend-mode:screen}
@keyframes cg-lueur{from{opacity:.55;transform:scale(.95)}to{opacity:1;transform:scale(1.08)}}
.cg-heros{position:relative;width:min(40cqh,34cqw);aspect-ratio:1;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--lueur) 80%,transparent)) drop-shadow(0 10px 18px rgba(0,0,0,.45));z-index:2}
.cg-heros svg{width:100%;height:100%;display:block;overflow:visible}
.cg-battement{animation:cg-entree .55s cubic-bezier(.2,1.6,.4,1) both,cg-battement .9s .6s ease-in-out 3}
@keyframes cg-entree{from{transform:scale(0) rotate(-12deg);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes cg-battement{0%,100%{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(.97)}45%{transform:scale(1.12)}}
.cg-eclosion{animation:cg-eclosion 1.1s cubic-bezier(.2,1.3,.4,1) both,cg-balance 2.4s 1.1s ease-in-out infinite alternate}
@keyframes cg-eclosion{from{transform:scale(0) rotate(-140deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@keyframes cg-balance{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
.cg-tampon{animation:cg-tampon .5s cubic-bezier(.3,1.5,.5,1) both,cg-battement 1s .7s ease-in-out 2}
@keyframes cg-tampon{from{transform:scale(2.6);opacity:0;filter:blur(6px)}to{transform:scale(1);opacity:1;filter:none}}
.cg-secoue{animation:cg-entree .5s cubic-bezier(.2,1.6,.4,1) both,cg-secoue .12s .5s linear 8,cg-hop .5s 1.5s cubic-bezier(.2,1.6,.4,1) both}
@keyframes cg-secoue{0%,100%{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}
@keyframes cg-hop{from{transform:translateY(0) scale(1)}50%{transform:translateY(-6%) scale(1.12)}to{transform:translateY(0) scale(1.04)}}
.cg-descente{animation:cg-descente 1.2s cubic-bezier(.2,1.2,.4,1) both,cg-flotte 2s 1.2s ease-in-out infinite alternate}
@keyframes cg-descente{from{transform:translateY(-120cqh) rotate(-20deg)}to{transform:translateY(0) rotate(0)}}
@keyframes cg-flotte{from{transform:translateY(-3%)}to{transform:translateY(3%)}}
.cg-decolle{animation:cg-decolle var(--duree) cubic-bezier(.5,0,.6,1) both}
@keyframes cg-decolle{0%{transform:translate(-60cqw,60cqh) rotate(45deg) scale(.7)}35%{transform:translate(0,0) rotate(45deg) scale(1)}55%{transform:translate(4cqw,-4cqh) rotate(45deg) scale(1.05)}100%{transform:translate(70cqw,-75cqh) rotate(45deg) scale(.6)}}
.cg-flamme{transform-origin:50% 70%;animation:cg-flamme .12s linear infinite alternate}
@keyframes cg-flamme{from{transform:scaleY(.85)}to{transform:scaleY(1.2)}}
.cg-gele{animation:cg-entree .6s cubic-bezier(.2,1.6,.4,1) both,cg-secoue .1s .7s linear 6}
.cg-rayons{position:absolute;width:150cqmax;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--lueur) 40%,transparent) 0 8deg,transparent 8deg 22deg);mask:radial-gradient(circle,#000 0,transparent 60%);animation:cg-tourne 6s linear infinite;opacity:.8}
@keyframes cg-tourne{to{transform:rotate(360deg)}}
.cg-givre{position:absolute;inset:0;box-shadow:inset 0 0 12cqmin 4cqmin rgba(197,246,250,.85);animation:cg-givre .8s ease-out both}
@keyframes cg-givre{from{opacity:0;box-shadow:inset 0 0 0 0 rgba(197,246,250,0)}}
.cg-parts{position:absolute;inset:0}
.cg-p{position:absolute;left:var(--x);top:var(--y);width:calc(4.2cqmin * var(--s));aspect-ratio:1;opacity:0;filter:drop-shadow(0 0 4px currentColor)}
.cg-p svg{width:100%;height:100%;display:block}
.cg-monte{top:auto;bottom:-6%;animation:cg-monte var(--t) var(--dl) ease-out forwards}
@keyframes cg-monte{0%{opacity:0;transform:translate(0,0) scale(.6)}15%{opacity:1}50%{transform:translate(3cqw,-50cqh) scale(1)}100%{opacity:0;transform:translate(-3cqw,-105cqh) scale(1.1)}}
.cg-tombe{top:-8%;animation:cg-tombe var(--t) var(--dl) linear forwards}
@keyframes cg-tombe{0%{opacity:0;transform:translate(0,0) rotate(0)}10%{opacity:1}100%{opacity:0;transform:translate(6cqw,112cqh) rotate(var(--r))}}
.cg-eclate{left:50%;top:48%;animation:cg-eclate var(--t) .35s cubic-bezier(.1,.8,.3,1) forwards}
@keyframes cg-eclate{0%{opacity:1;transform:translate(0,0) rotate(0) scale(.4)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 18cqh)) rotate(var(--r)) scale(1)}}
.cg-scintille{animation:cg-scintille 1.1s var(--dl) ease-in-out 3 both}
@keyframes cg-scintille{0%,100%{opacity:0;transform:scale(.2) rotate(0)}50%{opacity:1;transform:scale(1) rotate(90deg)}}
.cg-pose{width:calc(7cqmin * var(--s));animation:cg-pose 2.6s var(--dl) cubic-bezier(.3,1.5,.5,1) forwards}
@keyframes cg-pose{0%{opacity:0;transform:scale(2) rotate(var(--r))}20%{opacity:.95;transform:scale(1) rotate(calc(var(--r) / 8))}80%{opacity:.9}100%{opacity:0}}
.cg-texte{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);z-index:3;margin:0;display:grid;justify-items:center;gap:2px;padding:8px 18px;border-radius:999px;background:rgba(11,10,18,.72);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--lueur) 60%,transparent);color:#fff;font-size:clamp(13px,2.6cqmin,19px);white-space:nowrap;animation:cg-texte .6s .3s cubic-bezier(.2,1.4,.4,1) both;box-shadow:0 0 24px color-mix(in srgb,var(--lueur) 45%,transparent)}
.cg-texte small{font-size:.75em;color:rgba(255,255,255,.75)}
@keyframes cg-texte{from{opacity:0;transform:translate(-50%,30px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){ .cg-heros,.cg-rayons,.cg-lueur{animation:cg-entree .3s both!important} }

/* Roue des réglages et bouton « voir le logo DMCA » sous le plein écran (10/11/2026) */
.lecteur-bouton.roue{top:58px;right:10px}.lecteur-bouton.dmca-montrer{top:106px;right:10px}
.lecteur-bouton.roue .ic,.lecteur-bouton.dmca-montrer .ic{width:20px;height:20px}
.lecteur.mini .lecteur-bouton.roue,.lecteur.mini .lecteur-bouton.dmca-montrer{display:none}
.salon:not(.ui-visible) .lecteur:not(.mini) .lecteur-bouton.roue,.salon:not(.ui-visible) .lecteur:not(.mini) .lecteur-bouton.dmca-montrer{opacity:0;transform:translateY(8px);pointer-events:none}
/* Logo DMCA discret en bas à gauche de la vidéo (visiteurs) */
.dmca-logo{position:absolute;left:10px;bottom:10px;z-index:5;display:inline-flex;align-items:center;gap:4px;padding:3px 7px 3px 4px;border-radius:7px;background:rgba(0,0,0,.38);color:rgba(255,255,255,.78);text-decoration:none;font-size:9.5px;line-height:1;letter-spacing:.06em;opacity:.55;transition:opacity .2s}
.dmca-logo:hover{opacity:1}.dmca-logo svg{width:14px;height:14px}.dmca-logo b{font-weight:900}.dmca-logo span{font-weight:700;opacity:.8}
.lecteur.mini .dmca-logo{display:none}
body.vue-diffuseur .dmca-logo{display:none}
body.vue-diffuseur.dmca-voir .dmca-logo{display:inline-flex;opacity:1;outline:2px dashed #ffd43b;outline-offset:3px;animation:dmca-clin .5s ease-in-out 4 alternate}
@keyframes dmca-clin{from{outline-color:#ffd43b}to{outline-color:transparent}}
/* La barre de cadeaux rapides se décale pour ne pas couvrir le logo */
.lecteur .cadeaux-rapides{bottom:34px}
.titre-salon .btn .ic{width:16px;height:16px}

/* Fenêtre « Mon goal » : case alignée, goals enregistrés et suites (10/11/2026) */
.signaler label.case{display:flex;flex-direction:row;align-items:center;gap:10px}.signaler label.case input{width:18px;height:18px;flex:none;margin:0}
.goals-memo{margin-top:14px;padding-top:12px;border-top:1px solid var(--ligne);display:grid;gap:8px}.goals-memo h3{margin:0;font-size:15px}
.goals-liste{display:grid;gap:6px;max-height:220px;overflow:auto}
.goal-memo{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne)}.goal-memo>div{flex:1;min-width:0;display:grid}.goal-memo small{color:var(--doux);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.goal-ajout{display:flex;gap:6px;flex-wrap:wrap}.goal-ajout input{flex:1 1 160px;min-width:0}
.goal-suite summary{cursor:pointer;font-weight:700;font-size:14px}.goal-suite textarea{width:100%;margin:6px 0}

/* Goal modifiable sur la barre (vue diffuseur, 10/11/2026) */
.obj-in-titre,.obj-in-jetons{font:inherit;color:inherit;background:transparent;border:1px dashed color-mix(in srgb,var(--texte) 30%,transparent);border-radius:8px;padding:2px 6px}
.obj-in-titre{font-weight:800;min-width:0;width:min(34ch,52vw)}.obj-in-jetons{width:9ch;font-weight:700}
.obj-in-titre:hover,.obj-in-jetons:hover{border-color:var(--rose)}.obj-in-titre:focus,.obj-in-jetons:focus{outline:none;border-style:solid;border-color:var(--rose);background:var(--carte2)}

/* Vue diffuseur : pas de bouton Suivre sur sa propre room (10/11/2026) */
body.vue-diffuseur #suivre{display:none!important}

/* Historique de modération de la room (10/11/2026) */
.histo-modo{max-width:560px}.histo-liste{display:grid;gap:6px;max-height:50vh;overflow:auto}
.histo-ligne{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne)}.histo-ligne>div{flex:1;display:grid;gap:2px}.histo-ligne small{color:var(--doux);font-size:12px}
.histo-ligne.active{border-color:color-mix(in srgb,var(--rose) 60%,transparent)}

/* Suivre et Fan club sur la vidéo (visiteurs, 10/11/2026) */
.sur-video{position:absolute;left:10px;top:10px;z-index:6;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 70px)}
.sv-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(11,10,18,.6);color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer;backdrop-filter:blur(8px);transition:transform .15s,background .15s}
.sv-btn:hover{transform:translateY(-1px);background:rgba(11,10,18,.85)}.sv-btn .ic{width:16px;height:16px}
.sv-btn:not(.actif){animation:sv-appel 5s ease-in-out 2s infinite}.sv-btn.actif{border-color:var(--rose);color:#ffc2dc}
.sv-btn.fan{color:#ffe066;border-color:rgba(255,224,102,.45)}.sv-btn.fan.actif{background:rgba(250,176,5,.2)}
@keyframes sv-appel{0%,88%,100%{transform:none}92%{transform:scale(1.07)}96%{transform:scale(.98)}}
.lecteur.mini .sur-video,body.vue-diffuseur .sur-video{display:none}
@media (prefers-reduced-motion:reduce){ .sv-btn{animation:none!important} }

/* Goal dans la même rangée que les jetons et les cadeaux (10/11/2026) */
.zone-jetons>.objectif{flex:1 1 280px;margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:8px 12px;border-radius:14px}
.zone-jetons>.objectif.cache{display:none}
@media (max-width:980px){ .zone-jetons>.objectif{margin:0} }

/* Jouet Lovense de la modèle et niveaux pour les visiteurs (10/11/2026) */
.lv-niveaux{display:grid;gap:6px;margin-bottom:12px;padding:10px;border-radius:14px;background:color-mix(in srgb,var(--rose) 10%,var(--carte2));border:1px solid color-mix(in srgb,var(--rose) 35%,transparent)}
.lv-niveaux>b{display:flex;align-items:center;gap:6px;font-size:13.5px}
.sv-btn.jouet{color:#99e9f2;border-color:rgba(153,233,242,.45)}
.lv-modele{max-width:620px}.lv-table{width:100%;border-collapse:collapse;font-size:13px}.lv-table th{text-align:left;color:var(--doux);font-weight:700;padding:4px}
.lv-table td{padding:4px;vertical-align:middle}.lv-table input[type=number]{width:72px}.lv-table input[type=range]{width:110px;vertical-align:middle}.lv-table small{margin-left:4px;color:var(--doux)}
.lv-table td:last-child{white-space:nowrap}.lv-etat{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.vue-diffuseur #tips .case{display:none}

/* Amis (10/11/2026) */
.badge-ami{display:inline-block;margin-left:4px;padding:0 6px;border-radius:6px;font-size:10.5px;font-weight:900;line-height:16px;background:linear-gradient(90deg,#20c997,#12b886);color:#062b22;vertical-align:1px}
.ligne-ami{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--ligne)}.ligne-ami .espace{flex:1}.pastille-direct{color:#ff6b6b;font-weight:800}

/* Vue live par-dessus la page de diffusion (10/11/2026) */
.vue-live{position:fixed;inset:0;z-index:200;background:var(--fond)}.vue-live[hidden]{display:none}.vue-live iframe{width:100%;height:100%;border:0;display:block}
body.vue-live-ouverte{overflow:hidden}
/* Commandes du live dans la vue diffuseur : pause, arrêt, réglages */
.commandes-live{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.btn.arreter{background:#e03131;color:#fff;border-color:#e03131}.btn.arreter:hover{background:#c92a2a}
.btn.pause-on{background:#f59f00;color:#1a1300;border-color:#f59f00}
/* Écran de pause sur la vidéo */
.ecran-pause{position:absolute;inset:0;z-index:8;display:grid;place-items:center;text-align:center;padding:16px;background:radial-gradient(circle at 50% 40%,rgba(123,63,228,.55),rgba(11,10,18,.96) 70%);color:#fff}
.ecran-pause[hidden]{display:none}.ecran-pause h2{margin:0;font-size:clamp(22px,4cqw,40px)}.ecran-pause .ep-temps{font-size:clamp(34px,7cqw,68px);font-weight:900;font-variant-numeric:tabular-nums;background:var(--degrade);-webkit-background-clip:text;background-clip:text;color:transparent}
.ecran-pause p{margin:6px 0;color:rgba(255,255,255,.85)}.ep-tops{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:8px}.ep-tops span{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:13px}
.ep-tops span b{color:#ffd43b}.lecteur{container-type:inline-size}
body.vue-diffuseur .ecran-pause{background:radial-gradient(circle at 50% 40%,rgba(245,159,0,.35),rgba(11,10,18,.85) 70%)}
/* Écran de pause : rien ne transparaît dessous ; bouton « Reprendre » lisible (10/11/2026) */
.ecran-pause{z-index:9}.lecteur:has(.ecran-pause:not([hidden])) .etat{display:none}
.btn.pause-on,.btn.pause-on *{color:#1a1300!important;opacity:1}
/* Croix de fermeture des fenêtres (10/11/2026) */
dialog.dialogue{position:fixed}dialog.dialogue .dlg-fermer{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font-size:16px;cursor:pointer}
dialog.dialogue .dlg-fermer:hover{border-color:var(--rose)}

/* Chatbot de la room (10/11/2026) */
.fil .bot{background:color-mix(in srgb,#22b8cf 12%,transparent);border-left:3px solid #22b8cf;padding:4px 8px;border-radius:8px}
.bot-nom{font-weight:800;color:#66d9e8}.bot-nom small{font-size:10px;font-weight:900;padding:0 5px;border-radius:5px;background:#22b8cf;color:#06222a;margin-left:2px;vertical-align:1px}
.bot-reglages{max-width:600px}.bot-rappels{display:flex;gap:14px;flex-wrap:wrap}.bot-faq{display:flex;gap:6px;margin-bottom:6px}.bot-faq input[data-f=mot]{flex:0 0 140px}.bot-faq input[data-f=reponse]{flex:1;min-width:0}
.bot-ex{font-style:italic}

/* Rooms 18+ sans jetons (pays de la modèle ou du visiteur, 11/11/2026) */
body.sans-jetons #tips,body.sans-jetons #cadeaux,body.sans-jetons #cadeauxRapides,body.sans-jetons #svJouet,body.sans-jetons .lv-niveaux,body.sans-jetons #menuTips button[data-j]{display:none!important}
.jetons-pays{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;border-color:color-mix(in srgb,#fab005 45%,transparent)}.jetons-pays p{margin:0;flex:1 1 300px;color:var(--doux);font-size:13.5px}

.jetons-pays{position:relative;padding-right:44px}.jetons-pays[hidden]{display:none}.jp-fermer{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:8px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);cursor:pointer}

/* Affichage du chat : taille du texte, à côté ou par-dessus la vidéo (11/11/2026) */
.onglets-room{position:relative}.aff-chat{margin-left:auto;min-width:34px;font-weight:900;font-size:13px}
.aff-panneau{position:absolute;z-index:30;right:10px;margin-top:4px;display:grid;gap:8px;padding:12px;border-radius:14px;background:var(--carte);border:1px solid var(--ligne);box-shadow:var(--ombre);width:min(300px,calc(100vw - 32px))}
.chat{position:relative}.aff-choix{display:flex;flex-wrap:wrap;gap:6px}.aff-choix button{padding:6px 10px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;font-size:13px;cursor:pointer}.aff-choix button.actif{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 18%,var(--carte2))}
body.chat-t-s .chat .fil{font-size:12.5px}body.chat-t-m .chat .fil{font-size:14.5px}body.chat-t-l .chat .fil{font-size:17px}body.chat-t-xl .chat .fil{font-size:20px}
body.chat-t-s .chat .fil p,body.chat-t-m .chat .fil p,body.chat-t-l .chat .fil p,body.chat-t-xl .chat .fil p{font-size:inherit}
@media (min-width:981px){
  body.chat-dessus .salon{grid-template-columns:minmax(0,1fr);position:relative}
  body.chat-dessus .salon>.chat{position:absolute;top:calc(16px + var(--chat-haut,0px));right:calc(var(--chat-droite,16px) + 8px);height:calc(var(--chat-h,60vh) - 16px);width:min(340px,38%);z-index:9;background:linear-gradient(90deg,transparent,rgba(11,10,18,.45));border:0;border-radius:0 var(--rayon) var(--rayon) 0}
  body.chat-dessus .salon>.chat .onglets-room{background:transparent;border:0}
  body.chat-dessus .salon>.chat .fil{mask-image:linear-gradient(to bottom,transparent 0,#000 25%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 25%)}
  body.chat-dessus .salon>.chat .fil p{text-shadow:0 1px 3px rgba(0,0,0,.95);color:#fff}
  body.chat-dessus .salon>.chat .saisie{background:transparent;border:0}
  body.chat-dessus .salon>.chat .saisie input{background:rgba(0,0,0,.45);color:#fff;border-color:rgba(255,255,255,.25)}
  body.chat-dessus .lecteur-bouton.plein,body.chat-dessus .lecteur-bouton.roue,body.chat-dessus .lecteur-bouton.dmca-montrer{right:auto;left:10px}
  body.chat-dessus .lecteur-bouton.plein{top:56px}body.chat-dessus .lecteur-bouton.roue{top:104px}body.chat-dessus .lecteur-bouton.dmca-montrer{top:152px}
}
@media (min-width:981px){ body.chat-dessus .salon>.chat .onglets-room{flex-wrap:wrap;gap:4px;padding:6px}body.chat-dessus .salon>.chat .onglets-room button{font-size:12px;padding:4px 8px;min-height:28px;background:rgba(0,0,0,.4);color:#fff}body.chat-dessus .salon>.chat .onglets-room button.actif{background:rgba(255,255,255,.22)} }

/* Miniature flottante du live de la modèle, sur toutes les pages (11/11/2026) */
.mini-live{position:fixed;right:16px;bottom:16px;z-index:150;width:min(260px,46vw);aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 10px 30px rgba(0,0,0,.55);border:2px solid #ff3b5c;cursor:grab;touch-action:none;color:#fff;text-decoration:none}
.mini-live video,.mini-live img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ml-badge{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:999px;background:#ff3b5c;font-size:11.5px;font-weight:900}.ml-badge b{font-weight:700}
.ml-retour{position:absolute;left:0;right:0;bottom:0;padding:6px 8px;background:linear-gradient(transparent,rgba(0,0,0,.8));font-size:12.5px;font-weight:800;text-align:center;opacity:.85}
.mini-live:hover .ml-retour{opacity:1;text-decoration:underline}
.mini-live img[hidden]{display:none!important}.mini-live::before{content:"Ton live";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.5);font-size:13px;font-weight:700}

/* Jaquettes des univers (11/11/2026) */
.niche-jaquettes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.niche-jaq{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:120px;padding:10px 12px;border-radius:14px;overflow:hidden;background:#1a1626 center/cover no-repeat;color:#fff;text-decoration:none;border:1px solid var(--ligne)}
.niche-jaq::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(5,4,15,.85))}.niche-jaq>*{position:relative}.niche-jaq b{font-size:15px;text-shadow:0 1px 4px #000}.niche-jaq small{color:rgba(255,255,255,.8)}
.niche-jaq:hover{border-color:var(--rose);transform:translateY(-1px)}
.niche-bandeau{position:relative;margin:0 0 14px;padding:60px 18px 16px;border-radius:18px;overflow:hidden;background:#1a1626 center/cover no-repeat}
.niche-bandeau::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(5,4,15,.15),rgba(5,4,15,.85))}.niche-bandeau>*{position:relative;margin:0}.niche-bandeau h1{text-shadow:0 2px 8px #000}
.pp-chip.jaq{position:relative;min-width:150px;min-height:74px;justify-content:end;background:#1a1626 center/cover no-repeat;overflow:hidden;color:#fff}
.pp-chip.jaq::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(5,4,15,.85))}.pp-chip.jaq>*{position:relative}.pp-chip.jaq small{color:rgba(255,255,255,.8)}
.niche-carte .jaq-apercu{height:90px;border-radius:12px;background:#1a1626 center/cover no-repeat;margin-bottom:8px;border:1px solid var(--ligne)}
.jaq-choix{display:grid;gap:8px;padding:10px;border-radius:12px;border:1px dashed var(--ligne)}.jaq-choix .jaq-prev{height:90px;border-radius:10px;background:#1a1626 center/cover no-repeat;display:none}.jaq-choix .jaq-prev.ok{display:block}
/* Chat par-dessus la vidéo plus net (11/11/2026) : chaque message sur un fond sombre, police nette, blanc franc */
@media (min-width:981px){
  body.chat-dessus .salon>.chat{background:linear-gradient(90deg,transparent,rgba(8,6,16,.35) 30%);width:min(360px,40%)}
  body.chat-dessus .salon>.chat .fil{mask-image:linear-gradient(to bottom,transparent 0,#000 12%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%)}
  body.chat-dessus .salon>.chat .fil p{display:block;width:fit-content;max-width:100%;margin:3px 0;padding:4px 9px;border-radius:10px;background:rgba(8,6,16,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;font-weight:600;letter-spacing:.005em;line-height:1.35;color:#fff;text-shadow:none;-webkit-font-smoothing:antialiased}
  body.chat-dessus .salon>.chat .fil p .pseudo,body.chat-dessus .salon>.chat .fil p button[data-pseudo]{color:#ff8cc6;font-weight:800}
  body.chat-dessus .salon>.chat .fil .tip{background:rgba(120,30,80,.78)}body.chat-dessus .salon>.chat .fil .bot{background:rgba(8,40,52,.8)}
}
/* Boutons de jetons déplaçables en plein écran (visiteurs) */
.salon:fullscreen #tips.deplacable{cursor:grab;touch-action:none}.salon:fullscreen #tips.deplacable:active{cursor:grabbing}
.tips-poignee{display:none}.salon:fullscreen .tips-poignee{display:inline-grid;place-items:center;width:22px;margin-right:4px;color:rgba(255,255,255,.7);font-size:14px;cursor:grab;user-select:none}

/* Mes goûts (11/11/2026) */
.gouts-puces{display:flex;flex-wrap:wrap;gap:6px}.gouts-puces small{color:var(--doux)}
/* Plein écran sans bandes noires (11/11/2026) : la vidéo remplit l'écran quel que soit l'appareil ; bouton « image entière » pour qui préfère */
.salon:fullscreen .lecteur video,.lecteur:fullscreen .videos video{object-fit:cover}
body.plein-entier .salon:fullscreen .lecteur video,body.plein-entier .lecteur:fullscreen .videos video{object-fit:contain}
.salon:fullscreen .lecteur-place,.salon:fullscreen .lecteur{width:100%;max-width:none}
.lecteur-bouton.ajuster{display:none;top:10px;right:58px}.salon:fullscreen .lecteur-bouton.ajuster,.lecteur:fullscreen .lecteur-bouton.ajuster{display:grid}
body.chat-dessus .lecteur-bouton.ajuster{right:auto;left:58px}

/* Médias joints aux actus (11/11/2026) : flous et verrouillés si le visiteur n'y a pas droit */
.pp-media-post{position:relative;display:block;margin-bottom:6px;border-radius:10px;overflow:hidden;aspect-ratio:16/9;max-width:340px;background:#000}
.pp-media-post img{width:100%;height:100%;object-fit:cover;display:block}.pp-media-post.verrou img{filter:blur(18px) saturate(.7);transform:scale(1.1)}
.pp-media-post b{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900;text-shadow:0 1px 6px #000}
.actu-medias{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;max-height:220px;overflow:auto}
.actu-media{display:grid;gap:2px;padding:6px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);cursor:pointer;font-size:12px}
.actu-media:has(input:checked){border-color:var(--rose);box-shadow:0 0 0 1px var(--rose) inset}.actu-media input{position:absolute;opacity:0}.actu-media small{color:var(--doux)}

/* Coffre à trésors (11/11/2026) */
.tresors-dlg{max-width:640px}.tr-liste{display:grid;gap:6px;max-height:280px;overflow:auto}.tr-el{display:flex;align-items:center;gap:8px;padding:6px;border-radius:10px;background:var(--carte2);border:1px solid var(--ligne)}
.tr-el img,.tr-sans{width:48px;height:48px;border-radius:8px;object-fit:cover;flex:none;display:grid;place-items:center;background:#2a2238;font-weight:900}.tr-el>div{flex:1;display:grid}.tr-el small{color:var(--doux)}.tr-el input{width:80px}
.tr-ajout{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tr-ajout input#trNom{flex:1 1 180px}.tr-ajout input#trPrix{width:80px}
.sv-btn.tresor{color:#ffd8a8;border-color:rgba(255,216,168,.45)}
.tresor-panneau{position:absolute;left:10px;top:52px;z-index:9;width:min(420px,calc(100% - 20px));max-height:calc(100% - 70px);overflow:auto;padding:10px;border-radius:14px;background:rgba(11,10,18,.88);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);color:#fff}
.tp-tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tp-fermer{border:0;background:none;color:#fff;font-size:16px;cursor:pointer}
.tp-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.tp-el{display:grid;gap:3px;padding:6px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font:inherit;text-align:left;cursor:pointer}
.tp-el:hover{border-color:var(--rose)}.tp-el img,.tp-el .tr-sans{width:100%;aspect-ratio:1;border-radius:8px;object-fit:cover}.tp-el b{font-size:12.5px}.tp-el small{color:#ffd8a8;font-size:11.5px;font-weight:800}
.fil .demande{background:rgba(255,216,168,.12);border-left:3px solid #ffd8a8;padding:4px 8px;border-radius:8px}

/* Coffre à trésors comme dans camiapro (11/11/2026) */
.tresors-dlg{max-width:860px;width:min(860px,calc(100vw - 24px))}
.tr-onglets{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tr-onglets button{padding:6px 10px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;font-size:13px;cursor:pointer}
.tr-onglets button.actif{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 18%,var(--carte2))}.tr-onglets small{color:var(--doux)}
#trCherche{width:100%;margin-bottom:8px}
.tr-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:52vh;overflow:auto;padding:2px}
.tr-carte{display:grid;gap:4px;padding:6px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2)}.tr-carte.a{border-color:var(--rose);box-shadow:0 0 0 1px var(--rose) inset}
.tr-carte b{font-size:12.5px;line-height:1.2}.tr-carte small{color:var(--doux);font-size:11px}
.tr-img{position:relative;padding:0;border:0;border-radius:10px;overflow:hidden;aspect-ratio:1;background:#1a1626;cursor:pointer}.tr-img img{width:100%;height:100%;object-fit:cover;display:block}
.tr-carte:not(.a) .tr-img img{filter:saturate(.75) brightness(.85)}.tr-emoji{display:grid;place-items:center;width:100%;height:100%;font-size:40px}
.tr-ok{position:absolute;right:6px;top:6px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--rose);color:#fff;font-style:normal;font-weight:900;font-size:13px}
.tr-prix{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--doux)}.tr-prix input{width:64px;padding:3px 5px}

/* Filtres de la boutique (11/11/2026) */
.pp-filtres{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.pp-filtres button{padding:4px 10px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;font-size:12.5px;cursor:pointer}.pp-filtres button.actif{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 18%,var(--carte2))}.pp-filtres small{color:var(--doux)}

/* Case « Jaquette CAMia par IA » sur une ligne (11/11/2026) */
.jaq-choix label.case{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.jaq-choix label.case>*{display:inline}.jaq-choix label.case input{flex:none}
/* Fenêtres de la room adaptées à la taille de l'écran (11/11/2026) : jamais plus larges que la fenêtre, contenu recadré automatiquement */
dialog.dialogue{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);box-sizing:border-box;overflow:auto}
dialog.dialogue *,dialog.dialogue *::before,dialog.dialogue *::after{box-sizing:border-box}
dialog.dialogue form{max-width:100%;min-width:0}
#tresorDlg{width:min(900px,calc(100vw - 16px))}#tresorDlg .tresors-dlg{width:100%;max-width:none}
#tresorDlg .tr-grille{grid-template-columns:repeat(auto-fill,minmax(min(118px,28vw),1fr));max-height:min(52vh,520px)}
#tresorDlg .tr-onglets{max-width:100%}#tresorDlg #trCherche{width:100%;max-width:100%}
#tresorDlg .tr-carte{min-width:0}#tresorDlg .tr-carte b{overflow-wrap:anywhere}
@media (max-width:520px){ dialog.dialogue{padding:12px} #tresorDlg .tr-onglets button{padding:5px 8px;font-size:12px} }

/* Bande du coffre à trésors sur la vidéo (11/11/2026) */
.bande-tresor{position:absolute;right:10px;bottom:10px;z-index:6;display:grid;gap:6px;justify-items:end;max-width:min(62%,560px)}
.bt-tete{padding:4px 10px;border-radius:999px;border:1px solid rgba(255,216,168,.45);background:rgba(11,10,18,.7);backdrop-filter:blur(8px);color:#ffd8a8;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}.bt-tete small{opacity:.8}
.bt-liste{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:6px;border-radius:14px;background:rgba(11,10,18,.6);backdrop-filter:blur(8px);scrollbar-width:thin}
.bt-el{position:relative;flex:none;width:62px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:10px;overflow:hidden;background:#1a1626;cursor:pointer;display:grid}
.bt-el img,.bt-el>span{width:100%;aspect-ratio:1;object-fit:cover;display:grid;place-items:center;color:#fff;font-weight:900}
.bt-el small{position:absolute;left:0;right:0;bottom:0;padding:1px 2px;background:rgba(0,0,0,.65);color:#ffd8a8;font-size:10.5px;font-weight:900;text-align:center}
.bt-el:hover{border-color:var(--rose);transform:translateY(-2px)}
.lecteur.mini .bande-tresor{display:none}
body.chat-dessus .bande-tresor{right:auto;left:50%;transform:translateX(-50%);justify-items:center}

/* Mon profil (11/11/2026) */
.mp-onglets{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.mp-onglets a{padding:8px 14px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);text-decoration:none;font-weight:800}.mp-onglets a.actif{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 18%,var(--carte2))}
.mp-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.mp-tete h2{margin:0}
.mp-liste{display:grid;gap:6px;margin-top:10px}.mp-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne)}.mp-ligne>div{flex:1 1 220px;display:grid;gap:2px}.mp-ligne p{margin:2px 0}
.mp-prix{display:inline-flex;align-items:center;gap:6px;color:var(--doux)}.mp-prix input{width:90px}.mp-fan{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:10px 0}.mp-avantages{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.mp-univers{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:10px 0}

/* Animation d'un objet du coffre choisi (11/11/2026) */
.anim-objet{position:absolute;inset:0;z-index:8;display:grid;place-items:center;align-content:center;gap:10px;pointer-events:none;animation:ao-fondu 5.2s ease forwards}
@keyframes ao-fondu{0%{opacity:0}8%{opacity:1}85%{opacity:1}100%{opacity:0}}
.ao-halo{position:absolute;width:min(70cqmin,420px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,216,168,.55),transparent 65%);animation:ao-halo 1.2s ease-in-out infinite alternate}
.anim-objet.lovense .ao-halo{background:radial-gradient(circle,rgba(255,79,154,.6),transparent 65%)}
@keyframes ao-halo{from{transform:scale(.85)}to{transform:scale(1.1)}}
.ao-img{position:relative;width:min(38cqmin,240px);aspect-ratio:1;border-radius:22px;overflow:hidden;border:3px solid #ffd8a8;box-shadow:0 0 40px rgba(255,216,168,.6);animation:ao-entree .8s cubic-bezier(.2,1.5,.4,1) both,ao-vibre .12s .9s linear 10}
.anim-objet.lovense .ao-img{border-color:#ff4f9a;box-shadow:0 0 50px rgba(255,79,154,.7)}
.ao-img img{width:100%;height:100%;object-fit:cover}.ao-img span{display:grid;place-items:center;height:100%;font-size:80px;background:#1a1626}
@keyframes ao-entree{from{transform:scale(0) rotate(-20deg);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes ao-vibre{0%,100%{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}
.anim-objet p{position:relative;margin:0;padding:8px 18px;border-radius:16px;background:rgba(11,10,18,.78);backdrop-filter:blur(8px);color:#fff;text-align:center;font-size:clamp(13px,2.6cqmin,18px);animation:ao-entree .6s .3s both}
.anim-objet p strong{font-size:1.25em;color:#ffd8a8}.anim-objet.lovense p strong{color:#ff8cc6}.anim-objet p small{display:block;color:rgba(255,255,255,.75);font-size:.75em;margin-top:2px}
@media (prefers-reduced-motion:reduce){ .ao-img,.ao-halo{animation:none!important} }

/* Plusieurs jouets Lovense (11/11/2026) */
.lv-jouets{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.lv-jouet{display:grid;gap:4px;padding:8px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne)}
.lv-jouet img{width:56px;height:56px;border-radius:10px;object-fit:cover}.lv-jouet b{font-size:13px}
.lv-ouverts{display:flex;flex-wrap:wrap;gap:6px}.lv-ouverts span{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 3px;border-radius:999px;background:rgba(255,79,154,.15);font-size:12.5px;font-weight:700}.lv-ouverts img{width:26px;height:26px;border-radius:50%;object-fit:cover}

/* Démarrage de la vidéo sans flou ; roue « qualité » des visiteurs (11/11/2026) */
.lecteur{background-size:cover;background-position:center}.lecteur video.chauffe{opacity:0}.lecteur video{transition:opacity .45s ease}
.lecteur-bouton.qualite-vue{top:58px;right:10px}.lecteur.mini .lecteur-bouton.qualite-vue{display:none}
.salon:not(.ui-visible) .lecteur:not(.mini) .lecteur-bouton.qualite-vue{opacity:0;transform:translateY(8px);pointer-events:none}
body.chat-dessus .lecteur-bouton.qualite-vue{right:auto;left:10px;top:104px}

/* Rangée de la vue diffuseur = rangée des visiteurs ; outils dans la roue ; demandes pour monter ; panneau coffre (11/11/2026) */
body.vue-diffuseur .titre-salon #hasardRoom,body.vue-diffuseur .titre-salon #publierActu,body.vue-diffuseur .titre-salon #histoModo,body.vue-diffuseur .titre-salon #botBtn,body.vue-diffuseur .titre-salon #tresorBtn{display:none!important}
.mes-outils{display:grid;gap:6px;padding:10px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne)}.mes-outils>div{display:flex;flex-wrap:wrap;gap:6px}
.demandes-monter{position:absolute;top:56px;left:50%;transform:translateX(-50%);z-index:9;display:grid;gap:6px;width:min(520px,calc(100% - 20px))}
.dm-carte{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-radius:14px;background:rgba(11,10,18,.85);backdrop-filter:blur(8px);border:1px solid var(--rose);color:#fff;animation:ao-entree .4s both}.dm-carte span{flex:1 1 200px}
.pp-tresors{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.pp-tresor{display:grid;gap:3px;padding:6px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;text-align:left;cursor:pointer}
.pp-tresor img,.pp-tresor span{width:100%;aspect-ratio:1;border-radius:10px;object-fit:cover;display:grid;place-items:center;background:#1a1626}.pp-tresor b{font-size:12.5px}.pp-tresor small{color:#ffd8a8;font-weight:800;font-size:11.5px}.pp-tresor:hover{border-color:var(--rose)}

/* Proposer un jeu (11/11/2026) */
.prop-jeu{position:absolute;top:56px;left:50%;transform:translateX(-50%);z-index:9;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:min(560px,calc(100% - 20px));padding:10px 14px;border-radius:16px;background:rgba(11,10,18,.85);backdrop-filter:blur(8px);border:1px solid #22d3ee;color:#fff;box-shadow:0 0 24px rgba(34,211,238,.35)}
.pj-texte{flex:1 1 240px;display:grid;gap:2px}.pj-texte span{color:rgba(255,255,255,.8);font-size:13px}.pj-texte span b{color:#ffd166}.pj-btns{display:flex;gap:6px}
.annonce-jeu{position:absolute;top:56px;left:50%;transform:translateX(-50%);z-index:9;padding:10px 16px;border-radius:14px;background:rgba(11,10,18,.88);border:1px solid #22d3ee;color:#fff;animation:ao-entree .4s both}
.jeux-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.jeu-carte{display:grid;gap:4px;padding:8px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;text-align:left;cursor:pointer}
.jeu-carte img,.jeu-carte span{width:100%;aspect-ratio:4/3;border-radius:10px;object-fit:cover;display:grid;place-items:center;font-size:40px;background:#1a1626}.jeu-carte small{color:#ffd166;font-weight:800}.jeu-carte:hover{border-color:var(--rose)}

/* Page de diffusion : « Ma room » dans une fenêtre, « Lancer ma diffusion » centré (11/11/2026) */
.diffuser-grille.seule{grid-template-columns:minmax(0,1fr);max-width:900px;margin:0 auto}
.diff-tete,.ma-room-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.diff-tete h3,.ma-room-tete h3{margin:0}
dialog.ma-room-dlg{width:min(680px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto}.ma-room-dlg .dlg-fermer{position:static}

/* Lancer ma diffusion : parcours en 3 étapes, cartes de source illustrées, conseils (11/11/2026) */
.diff-etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0 6px;counter-reset:e}
.diff-etapes>div{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne);color:var(--doux);font-weight:700;font-size:13px}
.diff-etapes i{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--ligne);color:#fff;font-style:normal;font-weight:900}
.diff-etapes>.encours{border-color:var(--rose);color:var(--texte)}.diff-etapes>.encours i{background:var(--degrade)}
.diff-etapes>.fait{color:var(--texte)}.diff-etapes>.fait i{background:#1ed760;color:#062b16}.diff-etapes>.fait i::after{content:""}
.diff-motiv{margin:6px 0 12px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--rose) 10%,var(--carte2));font-size:14px}
.sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:12px}
.source-carte{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.source-carte:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--rose) 60%,var(--ligne))}
.source-carte.actif{border-color:var(--rose);box-shadow:0 0 0 1px var(--rose) inset,0 8px 24px color-mix(in srgb,var(--rose) 25%,transparent);background:color-mix(in srgb,var(--rose) 12%,var(--carte2))}
.sc-ic{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--degrade);box-shadow:0 6px 16px color-mix(in srgb,var(--rose) 35%,transparent)}
.sc-ic svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sc-txt{display:grid;gap:2px}.sc-txt b{font-size:15px}.sc-txt small{color:var(--doux);font-size:12.5px;line-height:1.35}
.sc-badge{position:absolute;top:-8px;right:10px;padding:2px 8px;border-radius:999px;background:#1ed760;color:#062b16;font-style:normal;font-size:11px;font-weight:900}
.diff-conseils{margin-bottom:12px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne);padding:8px 12px}.diff-conseils summary{cursor:pointer;font-weight:800}
.diff-conseils>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:8px}.diff-conseils span{display:grid;gap:2px;color:var(--doux);font-size:13px}.diff-conseils b{color:var(--texte)}
@media (max-width:560px){ .diff-etapes span{font-size:11.5px} .diff-etapes>div{padding:6px} }

/* « Lancer ma diffusion » aussi large que les zones du dessous (11/11/2026) */
.diffuser-grille.seule{max-width:none;margin:0}

/* Room : vidéo plus compacte (au plus 880 px de large, et moins si l'écran est bas) ; jetons, titre, boutons et profil alignés sur sa largeur ; l'ensemble centré avec le chat (11/11/2026) */
@media (min-width:981px){ .salon{max-width:none;grid-template-columns:minmax(0,min(880px,calc((100vh - 300px) * 16 / 9))) 360px;justify-content:center} }

/* Indice réseau de la modèle sur sa vidéo (11/11/2026) */
.indice-reseau{position:absolute;top:10px;left:10px;z-index:9;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:rgba(11,10,18,.66);backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:800;pointer-events:auto;cursor:help}
.ir-barres{display:flex;align-items:flex-end;gap:2px;height:14px}.ir-barres i{width:3px;border-radius:1px;background:rgba(255,255,255,.25)}
.ir-barres i:nth-child(1){height:4px}.ir-barres i:nth-child(2){height:7px}.ir-barres i:nth-child(3){height:10px}.ir-barres i:nth-child(4){height:14px}
.indice-reseau[data-niveau=vert] .ir-barres i{background:#1ed760}.indice-reseau[data-niveau=vert] b{color:#7dffb0}
.indice-reseau[data-niveau=jaune] .ir-barres i:nth-child(-n+3){background:#ffd43b}.indice-reseau[data-niveau=jaune] b{color:#ffe17a}
.indice-reseau[data-niveau=rouge] .ir-barres i:nth-child(-n+1){background:#ff4d5e}.indice-reseau[data-niveau=rouge] b{color:#ff8a95}.indice-reseau[data-niveau=rouge]{animation:ir-clign 1s steps(2) infinite}
@keyframes ir-clign{50%{background:rgba(120,0,15,.7)}}

/* Aperçu de la caméra (page de diffusion) plus petit ; chat de la room aligné sur le haut de la vidéo et de nouveau collé en haut au défilement (11/11/2026) */
.apercu-cadre{position:relative;width:min(720px,100%,calc((100vh - 330px) * 16 / 9));min-width:min(320px,100%);margin:0 auto}.apercu-cadre .apercu{display:block}
@media (min-width:981px){ .salon>.chat{position:sticky;top:76px;align-self:start} }

/* Vue modèle : pas d'envoi de jetons sur son propre live (comme les cadeaux) ; le goal prend toute la largeur (11/11/2026) */
body.vue-diffuseur #tips,body.vue-diffuseur #montants{display:none!important}
body.vue-diffuseur .zone-jetons{grid-template-columns:1fr!important}
/* Vue modèle : « Signaler » seulement depuis un pseudo du chat, pas dans la rangée sous la vidéo (11/11/2026) */
body.vue-diffuseur #signalerRoom{display:none!important}
/* Cartes de source plus compactes (11/11/2026) */
.sources{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.source-carte{gap:8px;padding:8px 10px;border-radius:12px}
.sc-ic{width:30px;height:30px;border-radius:9px;box-shadow:none}.sc-ic svg{width:17px;height:17px}
.sc-txt b{font-size:13.5px}.sc-txt small{font-size:11.5px;line-height:1.3}
.sc-badge{top:-7px;right:8px;padding:1px 6px;font-size:10px}

/* Interactions rapides (11/11/2026) : colonne à gauche de la vidéo (grand écran), bande sous la vidéo sinon ; animation sur la vidéo pour tous */
@media (min-width:1280px){ body.ir-colonne .salon{grid-template-columns:230px minmax(0,min(880px,calc((100vh - 300px) * 16 / 9))) 360px} }
.inter-rapides{align-self:start;position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto;display:grid;gap:8px;padding:10px;border-radius:var(--rayon);background:var(--carte);border:1px solid var(--ligne);font-size:13px}
.inter-rapides h4{margin:4px 0 0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--doux)}
.ir-tete{display:flex;align-items:center;justify-content:space-between}.ir-aide{width:22px;height:22px;border-radius:50%;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);cursor:pointer;font-weight:800}
.ir-explic{margin:0;color:var(--doux);font-size:12px;line-height:1.4}
.ir-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border-radius:10px;background:var(--carte2)}.ir-modes button{border:0;border-radius:8px;padding:5px;background:none;color:var(--doux);font:inherit;font-weight:800;font-size:12px;cursor:pointer}.ir-modes .actif{background:var(--degrade);color:#fff}
.ir-sugg{display:grid;gap:6px;padding:8px;border-radius:10px;border:1px dashed color-mix(in srgb,var(--rose) 60%,var(--ligne));background:color-mix(in srgb,var(--rose) 8%,var(--carte2))}.ir-sugg small{color:var(--doux)}
.ir-grille{display:grid;gap:6px}
.ir-b{position:relative;display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border-radius:11px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;text-align:left;cursor:pointer;transition:transform .12s,border-color .12s}
.ir-b:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--rose) 60%,var(--ligne))}.ir-b:disabled{opacity:.55;cursor:wait}
.ir-i{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--degrade);font-size:15px}.ir-jeu .ir-i{background:linear-gradient(135deg,#7957ff,#39a8ff)}.ir-r .ir-i{background:var(--ligne)}
.ir-t{display:grid;min-width:0}.ir-t b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ir-t small{color:var(--doux);font-size:11px}
.ir-top{border-color:#1ed760;box-shadow:0 0 0 1px #1ed760 inset}.ir-badge{position:absolute;top:-7px;right:6px;padding:0 6px;border-radius:999px;background:#1ed760;color:#062b16;font-style:normal;font-size:10px;font-weight:900}
.ir-mini{grid-template-columns:1fr 1fr}.ir-mini .ir-b{padding:6px}.ir-mini .ir-i{width:24px;height:24px;font-size:13px}
.ir-pied{display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:var(--doux);font-size:11.5px}.ir-pied button{border:1px solid var(--ligne);border-radius:999px;padding:2px 8px;background:none;color:var(--doux);font:inherit;cursor:pointer}.ir-pied .actif{border-color:var(--rose);color:var(--texte)}
.inter-rapides.bande{position:static;max-height:none;margin-top:8px;grid-template-columns:1fr;overflow:visible}
.inter-rapides.bande .ir-grille{grid-auto-flow:column;grid-auto-columns:minmax(150px,auto);grid-template-columns:none;overflow-x:auto;padding:6px 0 4px}.inter-rapides.bande .ir-explic,.inter-rapides.bande .ir-pied{display:none}
.salon:fullscreen .inter-rapides{display:none}
.ir-scene{position:absolute;inset:0;z-index:12;display:grid;place-items:start center;padding-top:9%;pointer-events:none;animation:ir-entre .35s cubic-bezier(.2,1.4,.4,1)}
.ir-scene.sort{animation:ir-sort .4s ease forwards}
.ir-carte{display:grid;justify-items:center;gap:6px;min-width:min(340px,80%);max-width:86%;padding:14px 22px;border-radius:20px;background:rgba(11,10,18,.78);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--rose) 70%,transparent);box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px color-mix(in srgb,var(--rose) 40%,transparent);color:#fff;text-align:center}
.ir-icone{font-size:clamp(28px,6cqi,52px);line-height:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4))}.ir-scene.jeu .ir-icone{animation:ir-tourne 1.9s cubic-bezier(.3,.6,.4,1)}
.ir-titre{font-size:clamp(16px,2.6cqi,26px);font-weight:900}
.ir-rouleau{display:block;min-width:200px;padding:6px 14px;border-radius:12px;background:rgba(255,255,255,.08);font-size:clamp(15px,2.3cqi,24px);font-weight:800}.ir-rouleau i{font-style:normal}
.ir-scene.arrete .ir-rouleau{background:var(--degrade);animation:ir-pop .5s cubic-bezier(.2,1.6,.4,1)}
.ir-prix{padding:2px 10px;border-radius:999px;background:#ffd43b;color:#2b2100;font-weight:900;font-size:13px}
@keyframes ir-entre{from{opacity:0;transform:translateY(-20px) scale(.9)}}@keyframes ir-sort{to{opacity:0;transform:translateY(-14px) scale(.96)}}
@keyframes ir-tourne{to{transform:rotate(720deg)}}@keyframes ir-pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.ir-scene,.ir-scene.jeu .ir-icone,.ir-scene.arrete .ir-rouleau{animation:none}}

/* Menu du compte (11/11/2026) */
.menu-compte-zone{position:relative}.mc-fleche{font-style:normal;font-size:10px;opacity:.7;margin-left:2px}
.menu-compte{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:min(290px,calc(100vw - 24px));max-height:calc(100vh - 80px);overflow:auto;padding:6px;border-radius:16px;background:var(--carte);border:1px solid var(--ligne);box-shadow:0 18px 50px rgba(0,0,0,.55);animation:mc-in .15s ease}
@keyframes mc-in{from{opacity:0;transform:translateY(-6px)}}
.mc-tete{display:grid;padding:8px 10px 10px;border-bottom:1px solid var(--ligne);margin-bottom:4px}.mc-tete small{color:var(--doux)}
.mc-titre{margin:8px 10px 2px;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--doux);font-weight:800}
.menu-compte a,.menu-compte button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:10px;border:0;background:none;color:var(--texte);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}
.menu-compte a:hover,.menu-compte button:hover,.menu-compte a:focus-visible,.menu-compte button:focus-visible{background:var(--carte2);outline:none}
.mc-i{width:22px;text-align:center}.mc-live{margin-left:4px;padding:0 6px;border-radius:999px;background:#ff3b5c;color:#fff;font-size:10.5px}
.mc-ligne{display:flex;align-items:center;gap:4px}.mc-ligne>a:first-child{flex:1}
.menu-compte .mc-plus{flex:none;width:30px;height:30px;justify-content:center;padding:0;border-radius:50%;background:var(--degrade);color:#fff;font-size:20px;font-weight:900;line-height:1}
.menu-compte .mc-plus:hover{background:var(--degrade);filter:brightness(1.15)}
.mc-sortie{margin-top:4px;border-top:1px solid var(--ligne)!important;border-radius:0 0 10px 10px!important;color:var(--doux)!important}

/* Jeux de la room ouverts aux visiteurs (11/11/2026) */
.tip-jeux-titre{grid-column:1/-1;margin:8px 0 2px;font-size:12px;font-weight:800;color:var(--doux)}
.tips-jeux{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;color:var(--doux)}.tips-jeux>span{font-weight:800}
.tips-jeux button{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;border:1px solid color-mix(in srgb,#7957ff 60%,var(--ligne));background:color-mix(in srgb,#7957ff 14%,var(--carte2));color:var(--texte);font:inherit;font-size:12.5px;cursor:pointer}
.tips-jeux button b{color:#ffd43b}
.ir-par{color:rgba(255,255,255,.75);font-size:13px}.ir-par b{color:#fff}
.ir-h4{display:flex;align-items:center;justify-content:space-between}.ir-regler{border:1px solid var(--ligne);border-radius:999px;padding:1px 8px;background:var(--carte2);color:var(--texte);font:inherit;font-size:11px;letter-spacing:0;text-transform:none;cursor:pointer}
.jeux-reglage fieldset{display:grid;gap:6px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--ligne);border-radius:12px}.jeux-reglage legend{font-weight:900;padding:0 4px}
.jeux-reglage input[type=number]{width:90px}.jeux-reglage textarea{width:100%;font:inherit;border-radius:10px;border:1px solid var(--ligne);background:var(--fond2);color:var(--texte);padding:6px}
.jeux-err{color:#ff8a95;font-weight:700}

/* Salle de jeux sur la vidéo des visiteurs (11/11/2026) */
.salle-live{position:absolute;right:10px;bottom:56px;z-index:11;width:min(46%,520px);border-radius:14px;overflow:hidden;background:rgba(11,10,18,.82);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--rose) 50%,transparent);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.salle-live canvas{display:block;width:100%;height:auto}.salle-live.reduit canvas,.salle-live.reduit .sl-pied{display:none}
.sl-tete{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:5px 10px;border:0;background:none;color:#fff;font:inherit;font-size:12.5px;cursor:pointer;text-align:left}.sl-tete i{font-style:normal;opacity:.7}.salle-live.reduit .sl-tete i{transform:rotate(180deg)}
.sl-pied{margin:0;padding:4px 10px 6px;color:rgba(255,255,255,.8);font-size:12px}.sl-pied:empty{display:none}
.ir-verrou{opacity:.55}
@media (max-width:700px){ .salle-live{width:62%;bottom:46px} }

/* Fenêtre « Jeux » de la room (11/11/2026) */
.fen-jeux{width:min(760px,calc(100vw - 24px))}.fen-jeux h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 8px;font-size:15px}.fen-jeux h3 small{font-weight:500;font-size:12px}
.fj-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.fj-carte{display:grid;justify-items:center;gap:3px;padding:10px 6px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;text-align:center;cursor:pointer}.fj-carte:hover{border-color:var(--rose)}.fj-carte:disabled{opacity:.5;cursor:not-allowed}
.fj-ic{font-size:26px}.fj-carte b{font-size:13px}.fj-carte small{color:var(--doux);font-size:11px}
.fj-hasard{display:flex;flex-wrap:wrap;gap:6px}.fj-pastille{padding:4px 10px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte2);font-size:12.5px;color:var(--doux)}.fj-pastille.on{border-color:#1ed760;color:var(--texte)}
.fj-liste{display:grid;gap:4px;max-height:38vh;overflow:auto}.fj-ligne{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:var(--carte2)}.fj-ligne>span:first-of-type{flex:1}.fj-prix input{width:80px}
.fj-err{color:#ff8a95;font-weight:700}

/* Partage des jeux à l'écran (11/11/2026) */
.fj-ecran{font-size:12.5px;font-weight:600}.fj-tv{display:inline-flex;align-items:center;gap:2px;font-size:13px}
.jeu-ecran{position:absolute;top:56px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(11,10,18,.78);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,#7957ff 70%,transparent);color:#fff;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.4);animation:ir-entre .35s ease}
.jeu-ecran small{color:rgba(255,255,255,.75)}.jeu-ecran button{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;width:22px;height:22px;cursor:pointer}
.ir-tous{width:100%;padding:7px;border-radius:10px;border:1px dashed color-mix(in srgb,var(--rose) 60%,var(--ligne));background:none;color:var(--texte);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}.ir-tous:hover{background:var(--carte2)}

/* « Les jeux de ma room » : fenêtre imagée et guidée (11/11/2026) */
.jr-dlg{width:min(980px,calc(100vw - 24px))}
.jr h2{margin:0 0 12px;font-size:22px}
.jr-etapes{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;counter-reset:e}
.jr-etapes li{position:relative;display:grid;justify-items:center;text-align:center;gap:2px;padding:12px 8px 10px;border-radius:14px;background:var(--carte2);border:1px solid var(--ligne)}
.jr-etapes li::before{counter-increment:e;content:counter(e);position:absolute;top:8px;left:10px;width:20px;height:20px;border-radius:50%;background:var(--degrade);color:#fff;font-size:12px;font-weight:900;display:grid;place-items:center}
.jr-etapes span{font-size:28px;line-height:1.1}.jr-etapes b{font-size:14px}.jr-etapes small{color:var(--doux);font-size:12px}
.jr-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.jr-carte{border-radius:18px;overflow:hidden;background:var(--carte2);border:1px solid var(--ligne);transition:transform .15s,box-shadow .15s}
.jr-carte.ouvert{border-color:#1ed760;box-shadow:0 0 0 1px #1ed760 inset,0 10px 26px rgba(30,215,96,.12)}
.jr-carte header{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#fff}
.jr-ic{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.18);font-size:30px;box-shadow:0 6px 16px rgba(0,0,0,.25);transition:transform .3s}
.jr-carte:hover .jr-ic{transform:rotate(-12deg) scale(1.08)}
.jr-carte header b{display:block;font-size:17px}.jr-carte header small{opacity:.9;font-size:12.5px}
.jr-corps{display:grid;gap:10px;padding:12px 14px 14px}
.jr-inter{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:700}
.jr-inter input{position:absolute;opacity:0;pointer-events:none}.jr-inter i{flex:none;position:relative;width:40px;height:22px;border-radius:999px;background:var(--ligne);transition:background .2s}
.jr-inter i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.jr-inter input:checked+i{background:#1ed760}.jr-inter input:checked+i::after{transform:translateX(18px)}.jr-inter input:focus-visible+i{outline:2px solid var(--rose);outline-offset:2px}
.jr-bloc{display:grid;gap:6px;padding:10px;border-radius:12px;background:color-mix(in srgb,var(--fond2) 70%,transparent)}.jr-bloc.grise{opacity:.6}
.jr-lib{font-size:12px;font-weight:800;color:var(--doux);text-transform:uppercase;letter-spacing:.05em}
.jr-prix{display:flex;align-items:center;gap:6px}.jr-prix button{width:34px;height:34px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font-size:18px;font-weight:900;cursor:pointer}
.jr-prix input{width:90px;height:34px;text-align:center;font-size:18px;font-weight:900;border-radius:10px;border:1px solid var(--ligne);background:var(--carte);color:#ffd43b}.jr-prix em{font-style:normal;color:var(--doux)}
.jr-sugg,.jr-modeles{display:flex;flex-wrap:wrap;gap:5px}.jr-sugg button,.jr-modeles button{padding:3px 10px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font:inherit;font-size:12.5px;cursor:pointer}
.jr-sugg button.on{border-color:#ffd43b;color:#ffd43b;font-weight:800}.jr-modeles button{border-style:dashed}.jr-modeles button:hover,.jr-sugg button:hover{border-color:var(--rose)}
.jr-etiquettes{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.jr-etiquettes span{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:999px;background:color-mix(in srgb,var(--rose) 16%,var(--carte));border:1px solid color-mix(in srgb,var(--rose) 40%,var(--ligne));font-size:13px}
.jr-etiquettes span button{width:18px;height:18px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:var(--texte);font-size:10px;cursor:pointer}
.jr-etiquettes input{flex:1;min-width:150px;padding:5px 8px;border-radius:999px;border:1px dashed var(--ligne);background:none;color:var(--texte);font:inherit;font-size:13px}
.jr-info{margin:0;font-size:12.5px;color:var(--doux)}
.jr-exemple{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,#7957ff 18%,transparent),transparent);font-size:12.5px}
.jr-exemple button{flex:none;padding:5px 10px;border-radius:999px;border:0;background:var(--degrade);color:#fff;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.jr-err{color:#ff8a95;font-weight:700}
.jr-pied{position:sticky;bottom:-1px;display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding:10px 0 2px;background:linear-gradient(transparent,var(--carte) 30%)}
@media (max-width:640px){ .jr-etapes{grid-template-columns:1fr} }

/* Chat de la room plus large : il remplit la place libre à droite de la vidéo (360 à 720 px) (11/11/2026) */
@media (min-width:981px){ .salon{grid-template-columns:minmax(0,min(880px,calc((100vh - 300px) * 16 / 9))) minmax(360px,720px)} }
@media (min-width:1280px){ body.ir-colonne .salon{grid-template-columns:230px minmax(0,min(880px,calc((100vh - 300px) * 16 / 9))) minmax(360px,720px)} }

/* Room : une seule zone commune (vidéo, goal, titre, boutons, profil) ; vidéo compacte ou grande par un mini-bouton (11/11/2026) */
body{--video-max:880px;--video-marge:300px}body.video-grande{--video-max:1320px;--video-marge:190px}
@media (min-width:981px){ .salon{grid-template-columns:minmax(0,min(var(--video-max),calc((100vh - var(--video-marge)) * 16 / 9))) minmax(360px,720px)} }
@media (min-width:1280px){ body.ir-colonne .salon{grid-template-columns:230px minmax(0,min(var(--video-max),calc((100vh - var(--video-marge)) * 16 / 9))) minmax(360px,720px)} }
.salon>section{align-self:start;padding:10px;border-radius:calc(var(--rayon) + 4px);background:var(--carte);border:1px solid var(--ligne);box-shadow:var(--ombre)}
.salon>section .zone-jetons,.salon>section .profil-live{margin-left:0;margin-right:0}
.salon>section .titre-salon{padding:0 4px}
.lecteur-bouton.taille-video{top:10px;right:58px}
.salon:fullscreen .lecteur-bouton.taille-video,.lecteur:fullscreen .lecteur-bouton.taille-video{display:none}
@media (max-width:980px){ .lecteur-bouton.taille-video{display:none} .salon>section{padding:0;border:0;background:none;box-shadow:none} }
/* Vidéo grande : la vidéo est prioritaire, le chat prend la place qui reste (320 px au moins) (11/11/2026) */
@media (min-width:981px){ body.video-grande .salon{grid-template-columns:minmax(0,min(var(--video-max),calc((100vh - var(--video-marge)) * 16 / 9))) minmax(320px,1fr)} }
@media (min-width:1280px){ body.video-grande.ir-colonne .salon{grid-template-columns:210px minmax(0,min(var(--video-max),calc((100vh - var(--video-marge)) * 16 / 9))) minmax(320px,1fr)} }

/* Shows (11/11/2026) : section des interactions, fenêtre « Mes shows », alerte de demande, bandeaux, écran « show en cours », formules */
.ir-show.on{border-color:#1ed760}.ir-show.on .ir-i{background:linear-gradient(135deg,#1ed760,#0f8f6b)}
.sh-nb{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13.5px;font-weight:700}
.sh-texte{flex:1;min-width:160px;padding:7px 10px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font:inherit}
.sh-forfait{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}.sh-forfait input[type=number]{width:70px;padding:4px 6px;border-radius:8px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font:inherit;text-align:center}
.sh-ajout{justify-self:start;padding:4px 10px;border-radius:999px;border:1px dashed var(--ligne);background:none;color:var(--texte);font:inherit;font-size:12.5px;cursor:pointer}
.sh-etat{display:grid;gap:4px}.sh-jauge{height:8px;border-radius:999px;background:var(--ligne);overflow:hidden}.sh-jauge i{display:block;height:100%;background:var(--degrade)}
.sh-actions{display:flex;flex-wrap:wrap;gap:6px}.btn.danger{background:#ff3b5c;color:#fff;border-color:#ff3b5c}
.sh-encours{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,#ff3b5c 15%,var(--carte2));border:1px solid #ff3b5c}
.sh-alerte{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:rgba(11,10,18,.45);backdrop-filter:blur(2px)}
.sh-pluie{position:absolute;inset:0;overflow:hidden;pointer-events:none}.sh-pluie i{position:absolute;bottom:-40px;font-style:normal;animation:sh-monte 2.6s ease-in infinite}
@keyframes sh-monte{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1}100%{transform:translateY(-120vh) scale(1.2) rotate(25deg);opacity:0}}
.sh-carte{position:relative;display:grid;justify-items:center;gap:6px;min-width:min(340px,86%);padding:18px 22px;border-radius:22px;background:rgba(20,16,32,.92);border:2px solid var(--rose);box-shadow:0 0 0 6px color-mix(in srgb,var(--rose) 25%,transparent),0 20px 60px rgba(0,0,0,.6);color:#fff;text-align:center;animation:sh-pulse 1.2s ease-in-out infinite}
@keyframes sh-pulse{50%{box-shadow:0 0 0 14px color-mix(in srgb,var(--rose) 8%,transparent),0 20px 60px rgba(0,0,0,.6)}}
.sh-cloche{font-size:42px;animation:sh-cloche 1s ease-in-out infinite;transform-origin:50% 10%}@keyframes sh-cloche{0%,100%{transform:rotate(0)}20%{transform:rotate(18deg)}40%{transform:rotate(-14deg)}60%{transform:rotate(8deg)}}
.sh-carte>b{font-size:20px}.sh-qui{font-size:18px;font-weight:900;color:#ffd43b}.sh-f{color:rgba(255,255,255,.85)}.sh-cpt{font-variant-numeric:tabular-nums;font-weight:900;font-size:22px}.sh-carte small{color:rgba(255,255,255,.6)}
.sh-bandeau{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:13;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 120px);padding:7px 14px;border-radius:999px;background:rgba(11,10,18,.8);backdrop-filter:blur(8px);border:1px solid #ff3b5c;color:#fff;font-size:13.5px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.sh-bandeau button{padding:3px 10px;border-radius:999px;border:0;background:var(--degrade);color:#fff;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.sh-bandeau [data-fin],.sh-bandeau [data-depuis]{font-variant-numeric:tabular-nums;font-weight:900}
.sv-voile{position:absolute;inset:0;z-index:15;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(121,87,255,.35),rgba(11,10,18,.96) 70%);backdrop-filter:blur(18px)}
.sv-carte{display:grid;justify-items:center;gap:8px;max-width:min(380px,88%);text-align:center;color:#fff}.sv-ic{font-size:52px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.4))}.sv-carte b{font-size:21px}.sv-carte p{margin:0;color:rgba(255,255,255,.8)}.sv-carte small{color:rgba(255,255,255,.6)}
.sv-mdp{display:flex;gap:6px}.sv-mdp input{padding:8px 12px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font:inherit}
.shows-btns{display:contents}.sh-btn-prive{background:linear-gradient(135deg,#ff4fa3,#7957ff);color:#fff;border:0}.sh-btn-groupe{background:linear-gradient(135deg,#ff7a3d,#ffbd2e);color:#2b1600;border:0}
.sv-dlg{width:min(760px,calc(100vw - 24px))}.sv-formules{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}
.sv-formule{display:grid;justify-items:center;gap:4px;padding:16px 12px;border-radius:18px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;text-align:center;cursor:pointer;transition:transform .15s,border-color .15s}
.sv-formule:hover{transform:translateY(-3px);border-color:var(--rose);box-shadow:0 12px 30px color-mix(in srgb,var(--rose) 25%,transparent)}
.sv-fic{font-size:34px}.sv-formule b{font-size:16px}.sv-prix{font-size:18px;font-weight:900;color:#ffd43b}.sv-formule small{color:var(--doux);font-size:12px;line-height:1.35}
/* Jeu sur la vidéo : déplaçable et redimensionnable par la modèle (11/11/2026) */
.salle-live.deplacable .sl-tete{cursor:move;touch-action:none}
.sl-coin{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,var(--rose) 50%);border-bottom-right-radius:14px;opacity:.85}

/* Joindre un média à une actu (11/11/2026) */
.dlg-actu{width:min(640px,calc(100vw - 24px))}
.am{display:grid;gap:8px;margin:6px 0 10px}.am-titre{font-weight:800}.am-titre small{color:var(--doux);font-weight:500}
.am-onglets{display:flex;flex-wrap:wrap;gap:4px;padding:3px;border-radius:12px;background:var(--carte2)}.am-onglets button{flex:1;min-width:110px;padding:7px 8px;border:0;border-radius:9px;background:none;color:var(--doux);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.am-onglets .actif{background:var(--degrade);color:#fff}
.am-depot{display:grid;justify-items:center;gap:4px;padding:22px 12px;border-radius:16px;border:2px dashed color-mix(in srgb,var(--rose) 50%,var(--ligne));background:color-mix(in srgb,var(--rose) 6%,var(--carte2));text-align:center;cursor:pointer;transition:background .15s}
.am-depot.survol,.am-depot:hover{background:color-mix(in srgb,var(--rose) 14%,var(--carte2))}.am-ic{font-size:34px}.am-depot small{color:var(--doux)}
.am-prog{position:relative;height:26px;border-radius:999px;background:var(--carte2);overflow:hidden;margin-top:6px}.am-prog i{position:absolute;inset:0 auto 0 0;background:var(--degrade);transition:width .2s}.am-prog span{position:relative;display:block;padding:4px 12px;font-size:12.5px;font-weight:700}
.am-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;max-height:240px;overflow:auto}
.am-c{position:relative;aspect-ratio:1;padding:0;border-radius:10px;overflow:hidden;border:2px solid transparent;background:#000;cursor:pointer}.am-c img,.am-c video{width:100%;height:100%;object-fit:cover;display:block}.am-c i{position:absolute;right:4px;bottom:4px;font-style:normal}
.am-v{display:grid;gap:2px;padding:8px;border-radius:10px;border:2px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;text-align:left;cursor:pointer}.am-v small{color:var(--doux);font-size:11.5px}
.am-sel{border-color:var(--rose)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--rose) 40%,transparent)}
.am-choisi{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px;border-radius:14px;background:var(--carte2);border:1px solid var(--rose)}
.am-apercu{width:96px;height:72px;border-radius:10px;overflow:hidden;background:#000;display:grid;place-items:center}.am-apercu img,.am-apercu video{width:100%;height:100%;object-fit:cover}.am-sans{font-size:12px;padding:4px;text-align:center;color:#fff}
.am-public{display:flex;gap:6px}.am-public label{cursor:pointer}.am-public input{position:absolute;opacity:0}.am-public span{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid var(--ligne);font-weight:800;font-size:13px}.am-public input:checked+span{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 18%,transparent)}
.am-retirer{margin-left:auto;border:0;background:none;color:var(--doux);font:inherit;cursor:pointer}
.am-info{margin:0;color:var(--doux);font-size:12px}
.pp-media-post video{width:100%;height:100%;object-fit:cover;display:block}.pp-media-post.en-verif img,.pp-media-post.en-verif video{filter:blur(6px)}
.pp-flou{display:grid;place-items:center;width:100%;height:100%;min-height:90px;font-size:32px;background:linear-gradient(135deg,#3a2a5a,#1a1426);filter:blur(1px)}
/* Interactions rapides : boutons compacts, une seule ligne de sous-titre (11/11/2026) */
.inter-rapides .ir-b{padding:4px 7px;gap:7px;border-radius:9px}
.inter-rapides .ir-i{width:24px;height:24px;border-radius:7px;font-size:13px}
.inter-rapides .ir-t b{font-size:12px;line-height:1.25}
.inter-rapides .ir-t small{font-size:10.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inter-rapides .ir-grille{gap:4px}.inter-rapides h4{margin-top:2px}
.inter-rapides .ir-badge{top:-6px;font-size:9px}

/* Mon tableau de bord (11/11/2026) */
.tdb{max-width:1100px}.tdb h1{margin:8px 0 4px}
.tdb-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}
.tdb-carte{position:relative;display:grid;gap:4px;padding:16px;border-radius:18px;background:var(--carte);border:1px solid var(--ligne);overflow:hidden}
.tdb-carte::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:var(--degrade);opacity:.12}
.tdb-or::after{background:#ffd43b;opacity:.16}.tdb-vert::after{background:#1ed760;opacity:.16}
.tdb-ic{font-size:28px}.tdb-carte small{color:var(--doux);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:11.5px}.tdb-carte b{font-size:26px}.tdb-carte em{font-style:normal;color:var(--doux);font-size:12px}
.tdb-dev{color:#7dffb0;font-weight:800}
.tdb-versement{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,#1ed760 14%,var(--carte)),var(--carte));border:1px solid color-mix(in srgb,#1ed760 50%,var(--ligne))}
.tdb-versement h2,.tdb-releves h2{margin:0 0 4px;font-size:18px}
.tdb-releves{margin-top:16px;padding:16px;border-radius:18px;background:var(--carte);border:1px solid var(--ligne);overflow:auto}.tdb-releves table{width:100%;border-collapse:collapse}.tdb-releves th,.tdb-releves td{padding:8px;border-bottom:1px solid var(--ligne);text-align:left;font-size:14px}
.tdb-st{padding:2px 8px;border-radius:999px;background:var(--carte2);font-size:12px;font-weight:800}.tdb-st.on{background:color-mix(in srgb,#1ed760 25%,var(--carte2))}
.tdb-liens{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}

/* Badge fan club dans le chat (11/11/2026) */
.badge-fan{display:inline-block;margin:0 2px;padding:0 6px;border-radius:999px;font-size:10.5px;font-weight:900;background:linear-gradient(135deg,#ffbd2e,#ff7a3d);color:#2b1600;vertical-align:1px;animation:fan-brille 3s ease-in-out infinite}
.badge-fan.fan-argent{background:linear-gradient(135deg,#e6ecf5,#9aa7b8)}.badge-fan.fan-or{background:linear-gradient(135deg,#ffe17a,#e9b949)}.badge-fan.fan-diamant{background:linear-gradient(135deg,#7df9ff,#7957ff);color:#fff}
@keyframes fan-brille{50%{filter:brightness(1.25)}}

/* Fan club : avantages à cocher (modèle) et panneau visiteur (11/11/2026) */
.fc-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin:10px 0}
.fc-av{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--ligne);background:var(--carte2);cursor:pointer;transition:border-color .15s,background .15s}
.fc-av input{position:absolute;opacity:0}.fc-av.on{border-color:#ffbd2e;background:color-mix(in srgb,#ffbd2e 10%,var(--carte2))}
.fc-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#ffbd2e,#ff7a3d);font-size:20px}.fc-av:not(.on) .fc-ic{filter:grayscale(.8);opacity:.6}
.fc-t{display:grid;flex:1}.fc-t b{font-size:13.5px}.fc-t small{color:var(--doux);font-size:11.5px}
.fc-inter{flex:none;position:relative;width:36px;height:20px;border-radius:999px;background:var(--ligne)}.fc-inter::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}.fc-av.on .fc-inter{background:#1ed760}.fc-av.on .fc-inter::after{transform:translateX(16px)}
.fc-av input:focus-visible~.fc-inter{outline:2px solid var(--rose);outline-offset:2px}
.fc-reglages{display:grid;gap:10px;padding:12px;border-radius:14px;background:var(--carte2)}
.fc-ligne{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-weight:700;font-size:13.5px}.fc-col{flex-direction:column;align-items:stretch}.fc-col textarea{width:100%;font:inherit;border-radius:10px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);padding:6px}
.fc-paliers,.pp-paliers{display:flex;flex-wrap:wrap;gap:6px}.fc-paliers span,.pp-paliers span{display:grid;padding:6px 10px;border-radius:12px;background:var(--carte);border:1px solid var(--ligne);font-size:12.5px}.fc-paliers small,.pp-paliers small{color:var(--doux);font-size:11px}.pp-paliers .on{border-color:#ffbd2e;box-shadow:0 0 0 1px #ffbd2e inset}
.pp-fan-av{list-style:none;margin:6px 0;padding:0;display:grid;gap:4px}.pp-fan-av li{display:grid;grid-template-columns:24px 1fr;column-gap:6px;font-size:13px}.pp-fan-av li small{grid-column:2;color:var(--doux);font-size:11.5px}
.pp-fan-moi{margin:4px 0;padding:6px 10px;border-radius:10px;background:color-mix(in srgb,#ffbd2e 14%,var(--carte2));font-size:13px}
/* Interactions rapides : sections et boutons à glisser (11/11/2026) */
.ir-sec{display:grid;gap:4px}.ir-sec > h4{cursor:grab;user-select:none}.ir-sec > h4::before{content:"⠿ ";color:var(--doux);font-weight:400;letter-spacing:0}
.ir-sec > h4:active{cursor:grabbing}.ir-glisse{opacity:.45;outline:2px dashed var(--rose);outline-offset:2px;border-radius:10px}
.ir-grille > [draggable="true"]{cursor:grab}

/* Couleurs du chat choisies par la modèle (11/11/2026) */
.fil p{color:var(--c-texte,inherit)}.fil .pseudo-chat{color:var(--c-pseudo,var(--rose,#ff4f9a))}
.fil .systeme{color:var(--c-systeme,var(--cyan))}
.fil .bot{color:var(--c-bot,inherit);border-left-color:var(--c-bot,#22b8cf)}
.fil .tip,.fil .tip b{color:var(--c-tip,inherit)}
.aff-couleurs{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--ligne)}.aff-couleurs small{color:var(--doux);font-weight:500}
.aff-couleurs label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.aff-couleurs input[type=color]{width:38px;height:26px;padding:0;border:1px solid var(--ligne);border-radius:8px;background:none;cursor:pointer}
/* Jeux et Salle de jeux : deux boutons par ligne (11/11/2026) */
.inter-rapides .ir-sec[data-sec="jeux"] .ir-grille,.inter-rapides .ir-sec[data-sec="salle"] .ir-grille{grid-template-columns:1fr 1fr}
.inter-rapides .ir-sec[data-sec="jeux"] .ir-b,.inter-rapides .ir-sec[data-sec="salle"] .ir-b{padding:5px 6px;gap:6px}
.inter-rapides .ir-h4{justify-content:space-between}
.inter-rapides .ir-sec > h4.ir-h4{justify-content:flex-start;gap:4px}.inter-rapides .ir-h4 .ir-regler{margin-left:auto}
/* Onglets du chat qui tiennent dans la largeur ; spectateurs avec et sans compte (11/11/2026) */
.onglets-room{gap:0}.onglets-room button{padding:0 8px;font-size:13px;white-space:nowrap}.onglets-room .aff-chat{padding:0 6px;min-width:28px}
.gens-total{color:var(--doux);font-size:12.5px;border-bottom:1px solid var(--ligne);padding-bottom:6px}
.gens-membre{display:flex;align-items:center;gap:4px}
.gens-anonymes{margin-top:8px;padding:6px 10px;border-radius:10px;background:var(--carte2);border:1px dashed var(--ligne);color:var(--doux);font-style:italic}
/* Miniature flottante du live : pour tous, redimensionnable, fermable (11/11/2026) */
.mini-live::before{content:"Live"}
.ml-qui{position:absolute;left:8px;bottom:8px;z-index:2;padding:1px 8px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:11.5px;font-weight:800}
.ml-fermer{position:absolute;top:6px;right:6px;z-index:3;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:11px;cursor:pointer;opacity:.75}.ml-fermer:hover{opacity:1}
.ml-coin{position:absolute;left:0;top:0;z-index:3;width:18px;height:18px;cursor:nwse-resize;background:linear-gradient(135deg,#ff3b5c 50%,transparent 50%);border-top-left-radius:12px;opacity:.85}
.ml-coin{left:auto;top:auto;right:0;bottom:0;background:linear-gradient(135deg,transparent 50%,#ff3b5c 50%);border-radius:0 0 12px 0}
.mini-live{-webkit-user-drag:none;user-select:none}.mini-live video,.mini-live img{pointer-events:none}

/* Fan club, deuxième partie (11/11/2026) */
.fc-onglets{margin-bottom:10px}.fc-corps{display:grid;gap:8px}.fc-corps h4{margin:8px 0 2px}
.fc-membres{display:grid;gap:6px}.fc-m{display:grid;gap:4px;padding:8px 10px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne)}.fc-m.risque{border-color:#ffbd2e}
.fc-m-tete{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.fc-m-tete small{color:var(--doux)}.fc-dep{margin-left:auto;font-weight:900;color:#ffd43b}
.fc-m textarea{width:100%;font:inherit;font-size:13px;border-radius:8px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);padding:5px}
.fc-vote{display:grid;gap:4px;padding:10px;border-radius:12px;background:var(--carte2)}
.fc-barre,.pp-vote button{position:relative;display:flex;justify-content:space-between;gap:8px;padding:5px 10px;border-radius:9px;background:var(--carte);overflow:hidden;font-size:13px}
.fc-barre i,.pp-vote button i{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--rose) 30%,transparent);z-index:0}.fc-barre span,.fc-barre b,.pp-vote span,.pp-vote b{position:relative;z-index:1}
.fc-coulisses,.pp-coulisses>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}
.fc-c,.pp-c{position:relative;display:grid;gap:3px;padding:4px;border-radius:10px;background:var(--carte2)}.fc-c img,.fc-c video,.pp-c img,.pp-c video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#000}
.fc-c-texte{display:grid;place-items:center;aspect-ratio:1;padding:8px;text-align:center;font-size:13px}.fc-c small{color:var(--doux);font-size:11px}.fc-c button{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer}
.pp-espace{display:grid;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--ligne)}
.pp-vote{display:grid;gap:4px}.pp-vote button{border:1px solid var(--ligne);color:var(--texte);font:inherit;cursor:pointer;text-align:left}.pp-vote button.on{border-color:var(--rose)}
.pp-c p{margin:0;font-size:13px}.pp-c small{color:var(--doux);font-size:11.5px}.pp-react{display:flex;flex-wrap:wrap;gap:2px}.pp-react button{padding:1px 6px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font-size:12px;cursor:pointer}.pp-react button.on{border-color:var(--rose)}
.pp-memoire{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--doux)}

/* Fan club en vignettes illustrées (11/11/2026) */
.fv-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:8px 0}
.fv{position:relative;display:grid;align-content:start;gap:4px;min-height:118px;padding:12px;border-radius:16px;overflow:hidden;color:#fff;background:linear-gradient(145deg,var(--fv1),var(--fv2));box-shadow:0 8px 20px color-mix(in srgb,var(--fv1) 25%,transparent);transition:transform .15s}
.fv::after{content:"";position:absolute;right:-26px;bottom:-26px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.14)}
.fv:hover{transform:translateY(-2px)}
.fv-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.22);margin-bottom:2px}
.fv-ic svg,.fv-med{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fv b{position:relative;z-index:1;font-size:13.5px;line-height:1.25}.fv small{position:relative;z-index:1;font-size:11.5px;line-height:1.3;color:rgba(255,255,255,.88)}
.fv-paliers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0}
.fv-palier{display:grid;justify-items:center;gap:2px;padding:10px 6px;border-radius:14px;text-align:center;color:#fff;border:2px solid transparent}
.fv-palier b{font-size:13px}.fv-palier small{font-size:10.5px;color:rgba(255,255,255,.85)}.fv-palier.on{border-color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,#fff 30%,transparent)}
.fv-bronze{background:linear-gradient(145deg,#c97b48,#7a4321)}.fv-argent{background:linear-gradient(145deg,#b9c3d1,#6b7889)}.fv-or{background:linear-gradient(145deg,#ffd45a,#c48a0f)}.fv-diamant{background:linear-gradient(145deg,#7df9ff,#7957ff)}
.fv-palier .fv-med{width:26px;height:26px}
.pp-fan-moi{display:flex;align-items:center;gap:6px}.pp-fan-moi .fv-med{stroke:#ffbd2e}
@media (max-width:560px){ .fv-paliers{grid-template-columns:repeat(2,1fr)} }
.fv-titre{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--doux)}

/* Prix du tip menu modifiable dans le panneau (11/11/2026) */
.ir-prix-ed{border-bottom:1px dashed currentColor;cursor:text}.ir-prix-ed:hover{color:#ffd43b}
.ir-prix-ed input{width:70px;padding:1px 4px;border-radius:6px;border:1px solid var(--rose);background:var(--carte);color:#ffd43b;font:inherit;font-size:11px}

.aff-sons{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--ligne);font-size:13px;font-weight:700}

/* Musique de la room (11/11/2026) */
.mu-joue{display:flex;align-items:center;gap:8px;padding:4px 2px;font-size:12.5px}.mu-joue b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mu-eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.mu-eq i{width:3px;height:4px;border-radius:1px;background:var(--doux)}
.mu-eq.on i{background:#1ed760;animation:mu-eq .9s ease-in-out infinite}.mu-eq.on i:nth-child(2){animation-delay:.2s}.mu-eq.on i:nth-child(3){animation-delay:.4s}
@keyframes mu-eq{0%,100%{height:4px}50%{height:14px}}
.mu-pilote{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border-radius:10px;background:var(--carte2)}.mu-pilote button{border:0;border-radius:8px;padding:4px;background:none;color:var(--doux);font:inherit;font-size:11.5px;font-weight:800;cursor:pointer}.mu-pilote .actif{background:var(--degrade);color:#fff}
.mu-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:8px 0}
.mu-carte{position:relative;display:grid;align-content:end;gap:2px;min-height:96px;padding:12px;border-radius:16px;border:2px solid transparent;color:#fff;text-align:left;font:inherit;cursor:pointer;background:linear-gradient(145deg,var(--m1),var(--m2));overflow:hidden}
.mu-carte::before{content:"";position:absolute;right:-18px;top:-18px;width:70px;height:70px;border-radius:50%;border:8px solid rgba(255,255,255,.2)}
.mu-carte b{font-size:15px}.mu-carte small{font-size:11.5px;color:rgba(255,255,255,.9)}.mu-carte span{font-size:11px;opacity:.8}.mu-carte.on{border-color:#fff}
.mu-liste{display:grid;gap:4px;max-height:50vh;overflow:auto}.mu-ligne{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;text-align:left;cursor:pointer}.mu-ligne small{color:var(--doux);margin-left:auto}
.mu-pastille{flex:none;width:14px;height:14px;border-radius:50%;background:var(--degrade)}
.mu-spotify{display:flex;gap:6px;margin-bottom:8px}.mu-spotify input{flex:1}
.mu-carte-live{position:absolute;left:10px;bottom:34px;z-index:9;display:flex;align-items:center;gap:8px;max-width:min(320px,60%);padding:5px 10px 5px 5px;border-radius:999px;background:rgba(11,10,18,.72);backdrop-filter:blur(8px);color:#fff;font-size:12px}
.mu-carte-live img,.mu-disque{flex:none;width:32px;height:32px;border-radius:50%;object-fit:cover;display:grid;place-items:center;animation:mu-tourne 6s linear infinite}
@keyframes mu-tourne{to{transform:rotate(360deg)}}
.mu-txt{display:grid;min-width:0}.mu-txt b,.mu-txt small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mu-txt small{color:rgba(255,255,255,.7)}
.mu-carte-live a{color:#1ed760;font-weight:800;text-decoration:none;font-size:11px}
.mu-choix-btn{margin-top:8px;padding:5px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--rose) 60%,var(--ligne));background:color-mix(in srgb,var(--rose) 12%,var(--carte2));color:var(--texte);font:inherit;font-size:12.5px;cursor:pointer}.mu-choix-btn b{color:#ffd43b}
@media (prefers-reduced-motion:reduce){.mu-eq.on i,.mu-carte-live img,.mu-disque{animation:none}}

/* Spot tipé en grand sur la vidéo et réservation d'un show (11/11/2026) */
.spot-live{position:absolute;inset:12% 6% 18%;z-index:8;display:flex;gap:10px;align-items:stretch;justify-content:center;pointer-events:none;animation:ir-entre .4s ease}
.spot-fig{position:relative;margin:0;flex:0 1 52%;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.6)}
.spot-fig img{width:100%;height:100%;object-fit:cover;display:block}.spot-fig figcaption{position:absolute;left:0;right:0;bottom:0;display:grid;padding:10px 12px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff}.spot-fig small{color:rgba(255,255,255,.8)}
.spot-rdv{pointer-events:auto;flex:0 1 38%;display:grid;align-content:start;gap:6px;padding:12px;border-radius:18px;background:rgba(11,10,18,.85);backdrop-filter:blur(8px);border:1px solid var(--rose);color:#fff}
.spot-rdv small{color:rgba(255,255,255,.75)}.spot-rdv>div{display:grid;gap:5px}
.spot-rdv button{display:grid;padding:7px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:13px;font-weight:800;text-align:left;cursor:pointer}.spot-rdv button small{font-weight:500}
.spot-rdv button:not(:disabled):hover{background:var(--degrade)}.spot-rdv button:disabled{cursor:default;opacity:.8}
@media (max-width:700px){ .spot-live{flex-direction:column;inset:6% 4% 14%} }

/* Planning des shows (11/11/2026) */
.pl-ajout{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pl-ajout input,.pl-ajout select{padding:6px 8px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit}
.pl-liste{display:grid;gap:5px;max-height:40vh;overflow:auto}.pl-c{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 10px;border-radius:10px;background:var(--carte2);border:1px solid var(--ligne);font-size:13px}.pl-c span{flex:1;color:var(--doux)}
.pl-c.dem,.pl-c.demande{border-color:#ffbd2e}.pl-c.reserve{border-color:#1ed760}

/* Disposition réglable et repli des interactions rapides (11/11/2026) */
#lecteur{position:relative}
.poignee-redim{position:absolute;bottom:0;z-index:25;width:18px;height:18px;cursor:nwse-resize;opacity:.35;transition:opacity .15s;touch-action:none}
.poignee-redim.droite{right:0;background:linear-gradient(135deg,transparent 52%,var(--rose) 52%);border-bottom-right-radius:var(--rayon)}
.poignee-redim.gauche{left:0;cursor:nesw-resize;background:linear-gradient(225deg,transparent 52%,var(--rose) 52%);border-bottom-left-radius:var(--rayon)}
#lecteur:hover>.poignee-redim,aside.chat:hover>.poignee-redim,#interRapides:hover>.poignee-redim,.poignee-redim:hover{opacity:1}
body.redim-en-cours,body.redim-en-cours *{user-select:none!important;cursor:ew-resize!important}
.ir-cadenas{display:grid;place-items:center;width:24px;height:24px;margin-left:auto;margin-right:4px;border-radius:7px;border:1px solid var(--ligne);background:var(--carte2);cursor:pointer}
.ir-cadenas svg{width:14px;height:14px;fill:none;stroke:var(--doux);stroke-width:2;stroke-linecap:round}.ir-cadenas.on{border-color:#1ed760}.ir-cadenas.on svg{stroke:#1ed760}
.ir-tete{display:flex;align-items:center}
.inter-rapides.replie:not(.survol){width:46px;overflow:hidden;padding:8px 6px;cursor:pointer}
.inter-rapides.replie:not(.survol)>*:not(.ir-tete){display:none}.inter-rapides.replie:not(.survol) .ir-tete>*:not(b){display:none}
.inter-rapides.replie:not(.survol) .ir-tete b{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:12px}
.inter-rapides.replie.survol{width:var(--ir-ouvert,230px);z-index:40;box-shadow:12px 0 40px rgba(0,0,0,.55)}
/* Chat et interactions rapides : on les tire par leur bord (toujours visible), la vidéo par son coin (11/11/2026) */
aside.chat>.poignee-redim.gauche,#interRapides>.poignee-redim.droite{top:0;bottom:0;width:7px;height:auto;border-radius:0;cursor:ew-resize;background:linear-gradient(transparent,var(--rose),transparent)}
aside.chat>.poignee-redim.gauche{left:0}#interRapides>.poignee-redim.droite{right:0}

/* Bande du coffre : flèches, sans barre de défilement ; objets clairement cliquables (11/11/2026) */
.bt-defile{display:flex;align-items:center;gap:4px;max-width:100%}
.bt-defile .bt-liste{scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.bt-defile .bt-liste::-webkit-scrollbar{display:none}
.bt-fl{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(11,10,18,.75);backdrop-filter:blur(6px);cursor:pointer}
.bt-fl svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.bt-fl:hover{background:var(--degrade)}.bt-fl[hidden]{display:none}
.bt-el{cursor:pointer;transition:transform .12s,box-shadow .12s}.bt-el:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 6px 16px rgba(0,0,0,.45),0 0 0 2px var(--rose)}
/* interactions rapides : ouvertes au survol, elles poussent la vidéo (plus de recouvrement) */
.inter-rapides.replie.survol{box-shadow:none;z-index:auto}
/* Les trois zones de la room défilent ensemble, alignées par le haut (11/11/2026) */
@media (min-width:981px){ .salon>.chat,.salon>.inter-rapides{position:relative;top:auto;align-self:start} .salon>section{align-self:start} }
/* Trois zones de même hauteur, jamais plus grandes que l'écran ; défilement à l'intérieur (11/11/2026) */
@media (min-width:981px){
  .salon{align-items:start}
  .salon>section,.salon>.chat,.salon>.inter-rapides{height:var(--zone-h,calc(100vh - 140px));max-height:var(--zone-h,calc(100vh - 140px));min-height:0}
  .salon>section,.salon>.inter-rapides{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--rose) 50%,transparent) transparent}
  .salon>.chat{display:flex;flex-direction:column}.salon>.chat .fil{flex:1;min-height:0;overflow-y:auto}
}

/* Carte Jeux du profil, jeux glissés sur la vidéo, vente dans le chat (11/11/2026) */
.pj{display:grid;gap:10px}
.pj-etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pj-etapes li{display:flex;align-items:center;gap:8px;padding:8px;border-radius:12px;background:var(--carte2);font-size:12.5px}
.pj-etapes b{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--degrade);color:#fff;font-size:12px}
.pj-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.pj-carte{position:relative;display:grid;align-content:start;gap:4px;min-height:140px;padding:12px;border-radius:16px;color:#fff;background:linear-gradient(145deg,var(--j1),var(--j2));overflow:hidden;box-shadow:0 8px 20px color-mix(in srgb,var(--j1) 30%,transparent)}
.pj-carte::after{content:"";position:absolute;right:-24px;top:-24px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.14)}
.pj-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.22)}.pj-ic svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pj-carte b{font-size:15px}.pj-carte small{font-size:12px;color:rgba(255,255,255,.9)}
.pj-lancer,.pj-prix{position:relative;z-index:1;justify-self:start;margin-top:4px;padding:6px 12px;border-radius:999px;border:0;background:rgba(0,0,0,.35);color:#fff;font:inherit;font-size:12.5px;font-weight:900;cursor:pointer}.pj-lancer:hover{background:rgba(0,0,0,.55)}
.pj-proposer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.pj-proposer small{color:var(--doux)}
#lecteur.depot-jeu{outline:3px dashed #1ed760;outline-offset:-6px}#lecteur.depot-jeu::after{content:"Dépose ici pour lancer le jeu";position:absolute;inset:auto 0 45% 0;z-index:30;text-align:center;font-weight:900;font-size:22px;color:#fff;text-shadow:0 2px 10px #000}
.pp-vendre{display:block;margin-top:4px;padding:3px 8px;border-radius:999px;border:1px solid var(--rose);background:none;color:var(--texte);font:inherit;font-size:11.5px;cursor:pointer}
.pp-article[draggable=true]{cursor:grab}
aside.chat.depot-vente-actif{outline:2px dashed color-mix(in srgb,var(--rose) 60%,transparent);outline-offset:-4px}aside.chat.depot-vente{outline-color:#1ed760}
.vente-chat{display:flex;align-items:center;gap:10px;margin:6px 0;padding:8px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--rose) 18%,var(--carte2)),var(--carte2));border:1px solid color-mix(in srgb,var(--rose) 50%,var(--ligne))}
.vente-chat img{flex:none;width:64px;height:48px;border-radius:9px;object-fit:cover}.vc-txt{display:grid;flex:1;min-width:0}.vc-txt small{color:var(--doux);font-size:11px}.vc-txt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc-acheter,.vc-prix{flex:none;padding:6px 12px;border-radius:999px;border:0;background:var(--degrade);color:#fff;font:inherit;font-size:12.5px;font-weight:900;cursor:pointer;text-decoration:none}.vc-prix{background:var(--carte);color:#ffd43b}.vc-acheter.ok{background:#1ed760;color:#062b16}
@media (max-width:560px){ .pj-etapes{grid-template-columns:1fr} }
/* Profil sous la vidéo : 6 cartes plus compactes (Fil, Univers, Fan club, Boutique, Coffre, Jeux) (11/11/2026) */
.profil-live-grille{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:6px!important}
.profil-live-carte{padding:7px 8px;gap:5px;border-radius:12px}
.profil-live-ic{width:30px;height:30px;border-radius:9px;font-size:15px}
.profil-live-lien{gap:7px}.profil-live-lien b{font-size:13px}.profil-live-lien small{font-size:11px;line-height:1.25}
.profil-live-carte .btn{min-height:26px;padding:2px 10px;font-size:12px}
/* La bande du coffre tient dans la vidéo et défile (au lieu de dépasser) (11/11/2026) */
.bande-tresor{grid-template-columns:minmax(0,1fr)}.bt-defile{min-width:0;width:100%;justify-self:stretch}.bt-defile .bt-liste{min-width:0;flex:1}
/* Les cartes du profil remplissent toute la largeur (11/11/2026) */
.profil-live-grille{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}
/* Carte Jeux de la modèle : ses jeux en vignettes (11/11/2026) */
.pjm-titre{margin:6px 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--doux)}
.pjm-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}
.pjm{display:grid;justify-items:start;gap:2px;min-height:86px;padding:10px;border-radius:14px;border:0;color:#fff;font:inherit;text-align:left;cursor:pointer;background:linear-gradient(145deg,var(--j1,#ff4fa3),var(--j2,#7957ff));transition:transform .12s}
.pjm:hover{transform:translateY(-2px)}.pjm:disabled{opacity:.5;cursor:not-allowed}.pjm-salle{--j1:#2a2340;--j2:#3b2d5c;border:1px solid var(--ligne)}
.pjm-ic{font-size:22px}.pjm b{font-size:13px}.pjm small{font-size:11px;color:rgba(255,255,255,.85)}

/* Dépôt d'un jeu dans le chat (11/11/2026) */
aside.chat.depot-jeu{outline:3px dashed #1ed760;outline-offset:-6px}aside.chat.depot-jeu::after{content:"Dépose ici pour lancer et partager le jeu";position:absolute;left:0;right:0;top:45%;z-index:30;text-align:center;font-weight:900;font-size:17px;color:#fff;text-shadow:0 2px 10px #000;pointer-events:none}
.pjm[draggable=true]{cursor:grab}
/* Plein écran : les interactions rapides restent affichées (vue modèle), la fenêtre de jeu et les messages aussi (11/11/2026) */
.salon:fullscreen .inter-rapides{display:grid;height:100vh;max-height:100vh;border-radius:0;border-width:0 1px 0 0;overflow-y:auto}
@media (min-width:981px){ body.ir-colonne .salon:fullscreen{grid-template-columns:230px minmax(0,1fr) 360px!important} body.ir-colonne.ir-replie .salon:fullscreen{grid-template-columns:46px minmax(0,1fr) 360px!important} }
.salon:fullscreen>.sj-win,.salon:fullscreen>.message{position:fixed;z-index:60}

/* Post du fil partagé dans le chat (11/11/2026) */
.post-chat{display:flex;gap:10px;margin:6px 0;padding:8px;border-radius:14px;background:var(--carte2);border:1px solid color-mix(in srgb,#7957ff 50%,var(--ligne));color:var(--texte);text-decoration:none;transition:border-color .15s}
.post-chat:hover{border-color:var(--rose)}.pc-media{flex:none;width:72px;height:72px;border-radius:10px;overflow:hidden;background:#000;display:grid;place-items:center}
.pc-media img,.pc-media video{width:100%;height:100%;object-fit:cover}.pc-flou{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#3a2a5a,#1a1426);color:#fff;font-size:11px;font-weight:900;filter:none}
.pc-txt{display:grid;gap:2px;min-width:0}.pc-txt small{color:var(--doux);font-size:11px}.pc-txt b{font-size:13px;font-weight:600;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pc-txt em{font-style:normal;font-size:12px;color:var(--rose);font-weight:800}

/* Avantage du fan club montré dans le chat (11/11/2026) */
.fan-chat{display:flex;align-items:center;gap:10px;margin:6px 0;padding:10px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--fv1),var(--fv2));box-shadow:0 6px 16px color-mix(in srgb,var(--fv1) 30%,transparent)}
.fan-chat .fv-ic{flex:none;margin:0}.fc-txt{display:grid;flex:1;min-width:0}.fc-txt small{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;opacity:.85}.fc-txt b{font-size:13.5px}.fc-txt em{font-style:normal;font-size:11.5px;opacity:.9}
.fc-btn{flex:none;padding:6px 12px;border-radius:999px;border:0;background:rgba(0,0,0,.35);color:#fff;font:inherit;font-size:12.5px;font-weight:900;cursor:pointer}.fc-btn.ok{background:rgba(255,255,255,.25)}
.fv[draggable=true]{cursor:grab}.fv-chat{position:relative;z-index:1;justify-self:start;margin-top:4px;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.25);color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.fil .fan-chat,.fil .fan-chat b,.fil .fan-chat small,.fil .fan-chat em{color:#fff}

/* Prix et ouverture des jeux de hasard sur leur vignette (11/11/2026) */
.pjm-h{position:relative}.pjm-h.ouvert{box-shadow:0 0 0 2px #1ed760 inset}
.pjm-reg{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding:5px 6px;border-radius:10px;background:rgba(0,0,0,.3);cursor:default}
.pjm-prix{display:flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800}.pjm-prix input{width:58px;padding:2px 4px;border-radius:6px;border:0;background:rgba(255,255,255,.9);color:#111;font:inherit;font-weight:900;text-align:center}
.pjm-ouvert{display:flex;align-items:center;gap:3px;font-size:11.5px;font-weight:800;cursor:pointer}

/* Démo d'un jeu présenté dans le chat (11/11/2026) */
.ir-demo{position:absolute;top:-10px;right:12px;padding:2px 10px;border-radius:999px;background:#ffd43b;color:#2b2100;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.ir-carte{position:relative}
aside.chat.depot-jeu::after{content:"Dépose ici pour présenter le jeu (démo + robot)"}

/* Carte glissée dans le chat par un visiteur (11/11/2026) */
.carte-glissable{cursor:grab}
aside.chat.depot-carte-actif{outline:2px dashed color-mix(in srgb,var(--rose) 60%,transparent);outline-offset:-6px}
aside.chat.depot-carte{outline:3px dashed #1ed760;outline-offset:-6px;position:relative}
aside.chat.depot-carte::after{content:"Lâche ici : la carte s'active";position:absolute;left:0;right:0;top:45%;z-index:30;text-align:center;font-weight:900;font-size:17px;color:#fff;text-shadow:0 2px 10px #000;pointer-events:none}
.carte-v{display:flex;align-items:center;gap:10px;margin:6px 0;padding:8px;border-radius:14px;background:var(--carte2);border:1px solid color-mix(in srgb,var(--rose) 45%,var(--ligne));color:var(--texte);text-decoration:none}
a.carte-v:hover{border-color:var(--rose)}.carte-v-fan{background:linear-gradient(135deg,#ff4fa3,#7957ff);border:0;color:#fff}
.cv-img{flex:none;width:52px;height:52px;border-radius:10px;overflow:hidden;background:#000;display:grid;place-items:center}.cv-img img{width:100%;height:100%;object-fit:cover}
.cv-ic{background:rgba(0,0,0,.3);font-size:24px;font-weight:900;color:#ffd43b}
.cv-txt{display:grid;gap:1px;min-width:0}.cv-txt small{font-size:11.5px;opacity:.85}.cv-txt b{font-size:13px}.cv-txt em{font-style:normal;font-size:11.5px;opacity:.85}
.carte-v-fan .cv-txt small b{color:#fff}

/* Carte « Mes shows » / « Shows » de Mes propositions (11/11/2026) */
.pp-shows{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.pps{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.pps-carte{display:grid;gap:4px;justify-items:start;padding:12px;border-radius:14px;color:#fff}.pps-ic{font-size:24px}.pps-carte b{font-size:15px}.pps-carte small{opacity:.9;font-size:12px}
.pps-carte .btn{margin-top:4px;background:rgba(0,0,0,.35);border:0}.pps-ok{font-size:12px;font-weight:900}

/* Ambiance glissée dans le chat (11/11/2026) */
#muDlg [data-mu-gen][draggable=true]{cursor:grab}
#muDlg.mu-glisse{opacity:.3;pointer-events:none}
aside.chat.depot-mu-actif{outline:2px dashed color-mix(in srgb,#1ed760 60%,transparent);outline-offset:-6px}
aside.chat.depot-mu{outline:3px dashed #1ed760;outline-offset:-6px;position:relative}
aside.chat.depot-mu::after{content:"Lâche ici : la musique démarre";position:absolute;left:0;right:0;top:45%;z-index:30;text-align:center;font-weight:900;font-size:17px;color:#fff;text-shadow:0 2px 10px #000;pointer-events:none}
.mu-chat{margin:6px 0;padding:10px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--m1),var(--m2))}
.mu-chat-tete{display:flex;align-items:center;gap:10px}.mu-chat-tete span:last-child{display:grid}.mu-chat-tete small{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;opacity:.85}.mu-chat-tete b{font-size:15px}
.mu-chat p{margin:8px 0 6px;font-size:12.5px}
.mu-chat-choix{display:flex;flex-wrap:wrap;gap:6px}.mu-chat-choix button{padding:5px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(135deg,var(--m1),var(--m2));color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.mu-chat-choix button:disabled{cursor:default;opacity:.85}.mu-chat-choix button:not(:disabled):hover{filter:brightness(1.15)}

/* Carte « Ma musique » / « Musique » de Mes propositions (11/11/2026) */
.mu-grille-pp{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));margin:8px 0}
.mu-grille-pp .mu-carte{cursor:grab}
.pp-mu{display:grid;gap:8px}.pp-mu .mu-joue{display:flex;align-items:center;gap:8px;margin:0}
.pp-mu .mu-chat-choix button{padding:7px 14px;font-size:13px}
.mu-chat b,.mu-chat small{color:#fff}

/* Invitation à un show dans le chat (11/11/2026) */
.show-chat .sc-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(0,0,0,.25);font-size:22px}
.show-chat b,.show-chat small,.show-chat em{color:#fff}
#ppShows [data-sh-ouvrir][draggable=true]{cursor:grab}
/* Croix des cartes du chat (11/11/2026) */
#fil :is(.mu-chat,.show-chat,.fan-chat,.carte-v,.post-chat,.vente-chat){position:relative}
.carte-chat-x{position:absolute;top:6px;right:6px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:0;background:rgba(0,0,0,.4);color:#fff;font:inherit;font-size:16px;line-height:1;font-weight:900;cursor:pointer;z-index:2}
.carte-chat-x:hover{background:rgba(0,0,0,.65)}
#fil :is(.mu-chat,.show-chat,.fan-chat,.carte-v,.post-chat){padding-right:36px}

/* Diffuser depuis camiapro (11/11/2026) */
.roue-cp{display:grid;gap:6px;margin:10px 0;padding:12px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,#ff4fa3 18%,transparent),color-mix(in srgb,#7957ff 18%,transparent));border:1px solid color-mix(in srgb,#7957ff 45%,var(--ligne))}
.roue-cp small{color:var(--doux);font-size:12px}.roue-cp div{display:flex;flex-wrap:wrap;gap:8px}

/* Avatar coach IA (11/11/2026) : la modèle (coin bas gauche de sa vue) et le public (sur la vidéo) */
.coach-m{position:fixed;left:16px;bottom:16px;z-index:60;display:flex;align-items:flex-end;gap:8px;max-width:min(440px,calc(100vw - 32px))}
.coach-av{flex:none;width:92px;cursor:pointer;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}.coach-av svg{width:100%;height:auto;display:block;border-radius:18px}
.coach-bulle{display:none;gap:6px;padding:10px 12px;border-radius:16px;background:var(--carte2,#1d1a2b);border:1px solid color-mix(in srgb,#7957ff 55%,transparent);box-shadow:0 10px 30px rgba(0,0,0,.45);color:var(--texte,#fff)}
.coach-bulle.on{display:grid}.coach-bulle p{margin:0;font-size:13.5px;line-height:1.4}
.coach-tete{display:flex;align-items:center;gap:6px}.coach-tete b{font-size:13px;color:#c9b8ff}.coach-tete small{font-size:11px;color:var(--doux);margin-right:auto}
.coach-tete button{border:0;background:rgba(255,255,255,.08);color:inherit;border-radius:8px;width:26px;height:26px;cursor:pointer;font:inherit}
.coach-p .coach-tete b{margin-right:auto}
.coach-pub{display:grid;gap:4px;padding:8px;border-radius:12px;background:color-mix(in srgb,#ff4fa3 14%,transparent)}.coach-pub small{font-size:11px;color:var(--doux)}.coach-pub em{font-size:12.5px}
.coach-pub .btn{justify-self:start}.coach-act{display:flex;flex-wrap:wrap;gap:6px}
.coach-pastille{padding:8px 14px;border-radius:999px;border:0;background:linear-gradient(135deg,#7957ff,#ff4fa3);color:#fff;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.coach-p{position:absolute;left:12px;bottom:56px;z-index:25;display:flex;align-items:flex-end;gap:8px;max-width:min(420px,calc(100% - 24px));animation:coachEntre .4s ease-out}
.coach-p .coach-av{width:84px;cursor:default}
@keyframes coachEntre{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:600px){.coach-m .coach-av{width:64px}.coach-p .coach-av{width:58px}.coach-p{bottom:48px}}

/* Cartes de shows du visiteur : tous les types, glissables (11/11/2026) */
.pps-carte{position:relative}.pps-carte[draggable=true]{cursor:grab}.pps-carte.ferme{filter:grayscale(.65) brightness(.75)}
.pps-etat{font-size:11px;font-weight:900;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.3)}

/* Fiche d'un contenu de la boutique depuis la room (11/11/2026) */
.fiche-c{width:min(720px,calc(100vw - 32px));padding:0;overflow:hidden}
.fc{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.fc-x{position:absolute;top:8px;right:8px;z-index:2;width:32px;height:32px;border-radius:50%;border:0;background:rgba(0,0,0,.5);color:#fff;font-size:20px;cursor:pointer}
.fc-teaser{position:relative;min-height:240px;overflow:hidden;background:#000}.fc-teaser img{width:100%;height:100%;object-fit:cover;animation:fcZoom 9s ease-in-out infinite alternate}
.fc-teaser.verrou img{filter:blur(2px) brightness(.85)}
@keyframes fcZoom{from{transform:scale(1)}to{transform:scale(1.12) translate(-2%,-2%)}}
.fc-badge{position:absolute;top:10px;left:10px;padding:3px 10px;border-radius:999px;background:#ffd43b;color:#2b2100;font-size:11px;font-weight:900;text-transform:uppercase}
.fc-play{position:absolute;inset:0;display:grid;place-items:center;font-size:46px;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.6);pointer-events:none}
.fc-infos{display:grid;align-content:start;gap:8px;padding:18px}.fc-infos h2{margin:0;font-size:20px}.fc-infos small{color:var(--doux)}
.fc-chips{display:flex;flex-wrap:wrap;gap:6px}.fc-chips span{padding:4px 10px;border-radius:999px;background:var(--carte2);font-size:12.5px;font-weight:800}
@media (max-width:640px){.fc{grid-template-columns:1fr}.fc-teaser{min-height:180px}}

/* Avantages personnalisés du fan club (11/11/2026) */
.fv-ajout{border:2px dashed color-mix(in srgb,#ff4fa3 60%,transparent)!important;background:transparent!important;color:var(--texte);cursor:pointer;text-align:left;font:inherit}
.fv-ajout .fv-ic{background:color-mix(in srgb,#ff4fa3 25%,transparent)}
.fv-retirer{position:absolute;top:6px;right:6px;z-index:2;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.35);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.fv-perso{position:relative}
.fv-choix{display:grid;gap:6px;margin:8px 0}.fv-choix>span{font-weight:800;font-size:13px}.fv-choix div{display:flex;flex-wrap:wrap;gap:6px}
.fv-choix [data-fa-p]{width:38px;height:38px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);cursor:pointer;display:grid;place-items:center}
.fv-choix [data-fa-p] svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fv-choix [data-fa-p].on{border-color:var(--rose);box-shadow:0 0 0 2px var(--rose) inset}
.fv-pastille{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer}.fv-pastille.on{border-color:#fff;box-shadow:0 0 0 2px var(--rose)}
.fv-apercu{max-width:260px;margin:8px 0}

/* Aperçu des univers sous les cartes, côté visiteur (11/11/2026) */
.pp-uv{display:grid;gap:10px}.uv-tete{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.uv-puces{display:flex;flex-wrap:wrap;gap:6px}
.uv-puces button{padding:5px 12px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}.uv-puces button.on{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 22%,transparent)}
.uv-carte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);border-radius:16px;overflow:hidden;border:1px solid var(--ligne);background:var(--carte2)}
.uv-jaq{position:relative;min-height:200px;background:#1a1426 center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;padding:14px}
.uv-jaq::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent 60%)}.uv-jaq>*{position:relative}
.uv-jaq span{justify-self:start;align-self:flex-start;padding:2px 9px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font-size:11px;font-weight:800}.uv-jaq h3{margin:6px 0 0;color:#fff;font-size:20px}
.uv-corps{display:grid;align-content:start;gap:10px;padding:14px}.uv-corps p{margin:0;font-size:13.5px}
.uv-chiffres{display:flex;flex-wrap:wrap;gap:6px}.uv-chiffres span{padding:3px 9px;border-radius:999px;background:var(--carte);font-size:12px;font-weight:800}.uv-live{color:#ff4f6d}
.uv-modeles{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.uv-modeles a{position:relative;flex:none;display:grid;justify-items:center;gap:2px;width:58px;text-decoration:none;color:var(--texte)}
.uv-modeles img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--ligne)}.uv-modeles small{font-size:10.5px;max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uv-modeles i{position:absolute;top:34px;padding:0 5px;border-radius:6px;background:#ff3b5c;color:#fff;font-size:9px;font-style:normal;font-weight:900}
.uv-posts{display:grid;gap:6px}.uv-post{display:grid;gap:1px;padding:7px 10px;border-radius:10px;background:var(--carte)}.uv-post b{font-size:12px;color:var(--rose)}.uv-post span{font-size:12.5px}
.uv-corps .btn{justify-self:start}
@media (max-width:640px){.uv-carte{grid-template-columns:1fr}.uv-jaq{min-height:140px}}

/* Goal au choix des visiteurs (11/11/2026) */
.goal-choix{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--ligne)}.goal-choix h3{margin:0}
.gc-ligne{display:grid;grid-template-columns:1fr 1fr;gap:8px}.goal-choix textarea{width:100%;font:inherit}
.gc-props{display:grid;gap:8px;margin-top:10px}.gc-props button{padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,#ff4fa3 50%,var(--ligne));background:linear-gradient(135deg,color-mix(in srgb,#ff4fa3 20%,transparent),color-mix(in srgb,#7957ff 20%,transparent));color:var(--texte);font:inherit;font-weight:800;text-align:left;cursor:pointer}
.gc-props button:hover{border-color:var(--rose)}
/* Cadeaux virtuels sur la vidéo : seulement en plein écran et seulement pour les visiteurs (11/11/2026) */
.lecteur .cadeaux-rapides{display:none}
body:not(.vue-diffuseur) .salon:fullscreen .lecteur:not(.mini) .cadeaux-rapides,body:not(.vue-diffuseur) .lecteur:fullscreen .cadeaux-rapides{display:flex}
/* Bouton plein écran toujours visible par-dessus la vidéo (11/11/2026) */
.salon:not(.ui-visible) .lecteur:not(.mini) .lecteur-bouton.plein{opacity:1;transform:none;pointer-events:auto}
.lecteur-bouton.plein{z-index:12;box-shadow:0 4px 14px rgba(0,0,0,.45)}

/* Goal proposé par l'IA (11/11/2026) */
.goal-ia{display:grid;gap:4px;margin:6px 0 10px;padding:10px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,#7957ff 18%,transparent),color-mix(in srgb,#ff4fa3 14%,transparent))}
.goal-ia .btn{justify-self:start}.goal-ia small{font-size:12px}
/* Zones sous la vidéo plus compactes : jetons, cadeaux, goal (11/11/2026) */
.zone-jetons{gap:6px;margin-top:6px}
.zone-jetons>.panneau{padding:6px 8px;border-radius:12px}
.zone-jetons h3{margin:0 0 4px;font-size:10.5px}
.zone-jetons .montants{gap:4px}.zone-jetons .montants button{min-height:28px;padding:0 9px;border-radius:9px;font-size:12.5px}
.zone-jetons .case{margin-top:4px!important;font-size:11px}.zone-jetons .case input{width:14px;height:14px}
.zone-jetons .cadeau-btn{width:56px;padding:4px 3px;border-radius:9px;gap:1px}.zone-jetons .cadeau-btn .cadeau-ic{width:20px;height:20px}
.zone-jetons .cadeau-btn span{font-size:10px}.zone-jetons .cadeau-btn b{font-size:10px}
.objectif{margin-top:6px;padding:6px 10px;border-radius:12px}
.objectif #objTitre{font-size:12.5px}.objectif #objChiffres{font-size:11.5px}
.objectif .objectif-modif,.objectif #goalChoixBtn{padding:3px 9px;min-height:26px;font-size:11.5px}
.objectif .objectif-barre{height:7px;margin-top:5px}

/* Onglets Sexe de la page des lives (11/11/2026) */
.barre-filtres .filtres.sexe{flex:none;margin:0;display:flex;gap:4px;padding:3px;border-radius:999px;background:var(--carte);border:1px solid var(--ligne)}
.filtres.sexe button{padding:5px 12px;border-radius:999px;border:0;background:transparent;color:var(--doux);font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.filtres.sexe button.actif{background:linear-gradient(135deg,#ff4fa3,#7957ff);color:#fff}
@media (max-width:700px){.barre-filtres .filtres.sexe{order:3;width:100%;overflow-x:auto;scrollbar-width:none}}
/* Croix « Quitter ce live » (visiteur) : coin haut droit de la vidéo ; plein écran et taille se décalent à sa gauche (11/11/2026) */
.lecteur-bouton.quitter{top:10px;right:10px;z-index:13}.lecteur-bouton.quitter svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.lecteur-bouton.quitter:hover{background:#e11d48;border-color:#e11d48}
body:not(.vue-diffuseur) .lecteur-bouton.plein{right:58px}
body:not(.vue-diffuseur) .lecteur-bouton.taille-video,body:not(.vue-diffuseur) .lecteur-bouton.ajuster{right:106px}
body.chat-dessus:not(.vue-diffuseur) .lecteur-bouton.plein{left:10px;right:auto}
.lecteur.mini .lecteur-bouton.quitter{top:6px;right:auto;left:6px;width:30px;height:30px}
.lecteur.mini .lecteur-bouton.quitter svg{width:16px;height:16px}
/* Jetons + cadeaux + goal sur une seule ligne (11/11/2026) : zones resserrées, le goal prend la place restante à droite */
@media (min-width:900px){
  .zone-jetons{flex-wrap:nowrap;align-items:stretch}
  .zone-jetons>#tips{flex:0 0 auto}.zone-jetons>#cadeaux{flex:0 1 auto;min-width:0;max-width:300px}
  .zone-jetons>#objectif{flex:1 1 200px;min-width:180px;margin:0;display:flex;flex-direction:column;justify-content:center}
  .zone-jetons>#objectif.cache{display:none}
}
.zone-jetons .montants button{min-height:26px;padding:0 7px;font-size:12px}
.zone-jetons .case{font-size:10.5px;max-width:190px;line-height:1.25}
.zone-jetons .cadeau-btn{width:46px;padding:3px 2px}.zone-jetons .cadeau-btn span{display:none}.zone-jetons .cadeau-btn .cadeau-ic{width:18px;height:18px}
.zone-jetons #objectif .objectif-modif span{display:inline}

/* Tous les jeux, invitations avec code, collab et battle (11/11/2026) */
#pjTous{margin-top:12px;display:grid;gap:8px}.pjt-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.pjt-code{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800}.pjt-code input{width:150px;padding:5px 8px;border-radius:9px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;text-transform:uppercase}
.pjt-attention{outline:2px solid var(--rose);animation:coachEntre .3s}
.pjt-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.pjt-carte{display:grid;gap:3px;align-content:start;padding:10px;border-radius:14px;background:var(--carte2);border:1px solid var(--ligne)}.pjt-carte.ouvert{border-color:#1ed760}
.pjt-ic{font-size:22px}.pjt-carte b{font-size:13.5px}.pjt-carte small{color:var(--doux);font-size:11.5px}.pjt-act{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pjt-act .btn{padding:3px 8px;font-size:11.5px;min-height:24px}
.invits-jeu{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:30;display:grid;gap:6px;width:min(560px,calc(100% - 24px))}
.ij{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:linear-gradient(135deg,rgba(121,87,255,.95),rgba(255,79,163,.95));color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.45);animation:coachEntre .3s}
.ij-ic{font-size:24px}.ij-txt{display:grid;flex:1;min-width:0}.ij-txt small{font-size:11px;opacity:.9;text-transform:uppercase;letter-spacing:.04em}.ij-txt b{font-size:13.5px}.ij-txt em{font-style:normal;font-size:11px;opacity:.85}
.ij .btn{background:rgba(0,0,0,.35);border:0;color:#fff}.ij .btn:not(.second){background:#fff;color:#5b2fd6}
.pjc{display:grid;gap:6px;margin-top:12px;padding:10px;border-radius:12px;background:var(--carte2);border:1px solid var(--ligne)}.pjc-form{display:flex;flex-wrap:wrap;gap:6px}
.pjc-form input,.pjc-form select{padding:5px 8px;border-radius:9px;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);font:inherit;font-size:12.5px}
.pjc-liste{display:grid;gap:4px}.pjc-l{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px}.pjc-l code{font-weight:900;color:var(--rose)}.pjc-l.fini{opacity:.55}
/* « Autre » saisi sur place (11/11/2026) */
.montants button.autre-saisie{display:inline-flex;align-items:center;gap:2px;padding:0 4px}
.montants button.autre-saisie input{width:62px;padding:2px 4px;border:0;border-radius:6px;background:var(--carte);color:var(--texte);font:inherit;font-weight:800;text-align:center}
.montants button.autre-saisie .autre-ok{padding:0 5px;color:#1ed760;font-weight:900;cursor:pointer}

/* Panneau de pause des shows (11/11/2026) */
.sv-voile .svp{width:min(760px,calc(100% - 20px));max-height:calc(100% - 20px);overflow:auto;display:grid;gap:10px;padding:12px;scrollbar-width:thin}
.svp-tete{display:grid;justify-items:center;gap:6px;text-align:center}.svp-tete .sv-carte{margin:0}
.svp-reprise{margin:0;font-size:14px;color:#fff}.svp-reprise b{font-size:18px;color:#ffd43b;font-variant-numeric:tabular-nums}
.svp-mu{padding:4px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.35);color:#fff;font:inherit;font-size:12px;cursor:pointer}
.svp-sections{display:grid;gap:10px}.svp-sections section{padding:10px;border-radius:14px;background:rgba(11,10,18,.72);backdrop-filter:blur(6px)}.svp-sections h4{margin:0 0 6px;color:#fff;font-size:13px}
.svp-shows{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.svp-show{display:grid;gap:2px;justify-items:start;padding:8px;border-radius:12px;background:linear-gradient(135deg,rgba(255,79,163,.35),rgba(121,87,255,.35));color:#fff}
.svp-show span{font-size:20px}.svp-show b{font-size:13px}.svp-show small{font-size:11px;opacity:.9}.svp-show .btn{margin-top:4px;padding:3px 10px;min-height:24px;font-size:11.5px}.svp-ok{font-size:11.5px;font-weight:900}
.svp-boutique,.svp-coffre{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.svp-article,.svp-objet{flex:none;width:104px;display:grid;gap:2px;padding:5px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font:inherit;text-align:left;cursor:pointer}
.svp-article img,.svp-objet img{width:100%;height:62px;object-fit:cover;border-radius:7px}.svp-objet>span{display:grid;place-items:center;height:62px;border-radius:7px;background:rgba(255,255,255,.1);font-size:24px;font-weight:900}
.svp-article b,.svp-objet b{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.svp-article small,.svp-objet small{font-size:10.5px;color:#ffd43b}
.svp-article:hover,.svp-objet:hover{border-color:var(--rose)}
.svp .sv-carte{padding:10px 14px}.svp .sv-ic{font-size:26px}.svp .sv-carte b{font-size:16px}.svp .sv-carte p{margin:4px 0}
.zone-jetons #objectif .objectif-modif,.zone-jetons #goalChoixBtn{white-space:normal;max-width:100%;margin-left:0;margin-top:4px;text-align:left}
.zone-jetons #objectif>div:first-child{flex-wrap:wrap}

/* Tous les cadeaux, cadeau anonyme, achat anonyme (11/11/2026) */
.cadeaux-plus{margin-left:6px;width:20px;height:20px;border-radius:6px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;font-size:14px;line-height:1;font-weight:900;cursor:pointer;vertical-align:middle}
.cadeaux-plus:hover{border-color:var(--rose)}
dialog.cadeaux-popup{position:fixed;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);z-index:80;width:min(560px,calc(100vw - 32px));max-height:min(80vh,620px);overflow:auto;margin:0;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.cp-tete{display:flex;align-items:center;justify-content:space-between}.cp-tete b{font-size:17px}.cp-x{width:30px;height:30px;border-radius:50%;border:0;background:var(--carte2);color:var(--texte);font-size:18px;cursor:pointer}
.cp-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:10px 0}
.cp-cadeau{display:grid;justify-items:center;gap:2px;padding:10px 6px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;cursor:grab}
.cp-cadeau.on{border-color:var(--rose);box-shadow:0 0 0 2px var(--rose) inset}.cp-cadeau span{font-size:12px;font-weight:800;text-align:center}.cp-cadeau b{font-size:12px;color:var(--ambre)}
.cp-cadeau .cadeau-ic{width:30px;height:30px}
.cp-pied{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.cp-anonyme,.fc-anonyme{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.fc-anonyme{margin-top:4px;font-size:12px;color:var(--doux)}

/* Goal vivant : top 3, paliers, sources (11/11/2026) */
.obj-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin-top:5px;font-size:11.5px}.obj-top b{font-weight:900}.obj-top .ot0{color:#ffd43b}.obj-top .ot1{color:#d9dce6}.obj-top .ot2{color:#e7a26b}
.obj-top small{color:var(--doux)}.obj-top i{font-style:normal;color:var(--doux);margin:0 2px}
.obj-sources{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;font-size:11px}.obj-sources span{padding:1px 7px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,#7957ff 45%,transparent) var(--p),var(--carte2) var(--p))}.obj-sources small{color:var(--doux)}
.goal-palier{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);z-index:26;display:grid;justify-items:center;padding:14px 26px;border-radius:20px;background:linear-gradient(135deg,rgba(255,79,163,.92),rgba(121,87,255,.92));color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.5);animation:palier 4.2s ease forwards;pointer-events:none}
.goal-palier b{font-size:46px;line-height:1}.goal-palier span{font-weight:800}.goal-palier small{opacity:.9}
@keyframes palier{0%{opacity:0;transform:translate(-50%,-40%) scale(.7)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}20%{transform:translate(-50%,-50%) scale(1)}85%{opacity:1}100%{opacity:0;transform:translate(-50%,-60%)}}

/* Son (visiteur) / micro (modèle) sur la vidéo (11/11/2026) : à gauche de la roue des réglages */
.lecteur-bouton.son-micro{top:58px;right:58px;z-index:12}.lecteur-bouton.son-micro svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lecteur-bouton.son-micro.coupe{background:#e11d48;border-color:#e11d48}
.lecteur.mini .lecteur-bouton.son-micro{top:6px;right:auto;left:42px;width:30px;height:30px}
body.chat-dessus .lecteur-bouton.son-micro{right:auto;left:58px}
.salon:not(.ui-visible) .lecteur:not(.mini) .lecteur-bouton.son-micro{opacity:1}
/* Cartes « Mes propositions » / profil sous la vidéo : plus petites, teintes douces par carte (11/11/2026) */
.profil-live-grille{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;gap:5px!important}
.profil-live-carte{--teinte:#8a7fb0;padding:6px 7px;gap:4px;border-radius:11px;background:linear-gradient(160deg,color-mix(in srgb,var(--teinte) 14%,var(--carte2)),var(--carte2));border-color:color-mix(in srgb,var(--teinte) 28%,var(--ligne))}
.profil-live-ic{width:26px;height:26px;border-radius:8px;font-size:13px;background:color-mix(in srgb,var(--teinte) 26%,transparent)}
.profil-live-lien{gap:6px}.profil-live-lien b{font-size:12.5px}.profil-live-lien small{font-size:10.5px}
.profil-live-lien:hover b{color:color-mix(in srgb,var(--teinte) 55%,#fff)}
.profil-live-carte .btn{padding:2px 9px;min-height:22px;font-size:11px}
.profil-live-carte:has([data-pan="fil"]){--teinte:#6f8fb8}.profil-live-carte:has([data-pan="univers"]){--teinte:#b89a6f}.profil-live-carte:has([data-pan="fanclub"]){--teinte:#b87a96}
.profil-live-carte:has([data-pan="boutique"]){--teinte:#8b7ab8}.profil-live-carte:has([data-pan="tresor"]){--teinte:#b8a35f}.profil-live-carte:has([data-pan="musique"]){--teinte:#6fa8a0}
.profil-live-carte:has([data-pan="shows"]){--teinte:#a07ab0}.profil-live-carte:has([data-pan="jeux"]){--teinte:#7a9f74}
.profil-live-carte.ouvert{border-color:color-mix(in srgb,var(--teinte) 70%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--teinte) 70%,#fff) inset}
body.vue-diffuseur .lecteur:has(#ecranPause:not([hidden])) #sonMicro.coupe{display:none!important} /* micro coupé pendant la pause : bouton caché (11/11/2026) */
.coach-m .coach-av{cursor:grab;touch-action:none}.coach-m.coach-glisse .coach-av{cursor:grabbing}.coach-m.coach-glisse{transition:none;opacity:.92}

/* Forme de l'avatar du coach : cercle (11/11/2026) */
.coach-m.cercle .coach-av svg,.coach-p.cercle .coach-av svg,.cf-av.cercle svg{border-radius:50%;aspect-ratio:1;object-fit:cover}
.coach-m.cercle .coach-av,.coach-p.cercle .coach-av{border-radius:50%;overflow:hidden;aspect-ratio:1;box-shadow:0 0 0 3px #7957ff}
.cf-choix{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.cf-opt{display:grid;justify-items:center;gap:6px;padding:12px;border-radius:16px;border:1px solid var(--ligne);background:var(--carte2);color:var(--texte);font:inherit;cursor:pointer;width:150px}
.cf-opt.on{border-color:var(--rose);box-shadow:0 0 0 2px var(--rose) inset}.cf-av{width:110px;display:block;overflow:hidden}.cf-av.rectangle svg{border-radius:16px}.cf-av.cercle{border-radius:50%;aspect-ratio:1}.cf-av svg{width:100%;height:auto;display:block}
.cf-opt small{color:var(--rose);font-weight:800}
.coach-m .coach-pastille{touch-action:none;cursor:grab}

/* Mes propositions copiées dans les interactions rapides (11/11/2026) */
.profil-live-carte[data-glisse-ir]{cursor:grab}
#interRapides.depot-props-actif{outline:2px dashed color-mix(in srgb,#7957ff 60%,transparent);outline-offset:-4px}
#interRapides.depot-props{outline:3px dashed #1ed760;outline-offset:-4px}
.ir-prop{position:relative}.ir-prop-x{position:absolute;top:2px;right:4px;font-size:13px;line-height:1;opacity:0;color:var(--doux);cursor:pointer}.ir-prop:hover .ir-prop-x{opacity:1}.ir-prop-x:hover{color:var(--rose)}

/* Assisté IA sur les éléments glissés (11/11/2026) */
.ir-prop-ia{position:absolute;bottom:2px;right:4px;font-size:11px;cursor:pointer;opacity:.85}.ir-prop-ia.m-off{opacity:.45}
.ir-ia-fine{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:10.5px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--doux);cursor:pointer}
.ir-ia-bandeau{display:none;gap:6px;align-items:center;flex-wrap:wrap;padding:7px 8px;margin-bottom:6px;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,#7957ff 30%,transparent),color-mix(in srgb,#ff4fa3 22%,transparent));font-size:12px}
.ir-ia-bandeau.on{display:flex}.ir-ia-bandeau span{flex:1 1 100%}.ir-ia-bandeau .btn{padding:2px 9px;min-height:22px;font-size:11px}
/* Bande du coffre : les flèches restent à côté des objets, jamais par-dessus (11/11/2026) */
.bande-tresor .bt-defile .bt-fl{position:static!important;transform:none!important;margin:0}
.bande-tresor .bt-liste [data-bt]{cursor:grab}.bande-tresor .bt-liste [data-bt]:active{cursor:grabbing}

/* « Sois parmi les premiers » (11/11/2026) */
.premiers{margin:6px 0 12px}.premiers-tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px}.premiers-tete b{font-size:15px}.premiers-tete small{color:var(--doux)}
.premiers-liste{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.premier{flex:none;display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border-radius:999px;background:var(--carte2);border:1px solid var(--ligne);color:var(--texte);text-decoration:none}
.premier:hover{border-color:var(--rose)}.premier img{width:38px;height:38px;border-radius:50%;object-fit:cover}.premier span{display:grid}.premier b{font-size:13px}.premier small{font-size:11px;color:#1ed760;font-weight:800}
/* Vue visiteur : la zone vidéo remplit toute la partie gauche, plus de vide à gauche (11/11/2026) */
@media (min-width:981px){ body:not(.vue-diffuseur) .salon{max-width:1880px;grid-template-columns:minmax(0,1fr) minmax(340px,520px)}
  body:not(.vue-diffuseur).video-grande .salon{grid-template-columns:minmax(0,1fr) minmax(320px,440px)} }
/* Tip d'un objet du coffre : jaquette de l'objet dans le chat (11/11/2026) */
#fil .tip.tip-image{display:flex;align-items:center;gap:8px}#fil .tip-jaq{flex:none;width:44px;height:44px;border-radius:9px;object-fit:cover;background:rgba(0,0,0,.3)}
.tr-ia{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:800;cursor:pointer}

/* Cartes de jeux illustrées, fond propre à chaque jeu (11/11/2026) */
.pjt-carte{position:relative;overflow:hidden;background:linear-gradient(150deg,color-mix(in srgb,var(--g1,#7957ff) 55%,var(--carte2)),color-mix(in srgb,var(--g2,#ff4fa3) 40%,var(--carte2)));border-color:color-mix(in srgb,var(--g1,#7957ff) 45%,var(--ligne));color:#fff}
.pjt-carte::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);pointer-events:none}
.pjt-ill{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.pjt-ill svg{width:42px;height:42px}
.pjt-carte b{color:#fff}.pjt-carte small{color:rgba(255,255,255,.82)}.pjt-carte.ouvert{box-shadow:0 0 0 2px #1ed760 inset}
.pjt-carte .btn.second{background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.3);color:#fff}

/* Musique choisie : animation sur la vidéo (11/11/2026) */
.anim-musique .ao-img{display:grid;place-items:center;background:linear-gradient(135deg,#7957ff,#ff4fa3)}.anim-musique .ao-img svg{width:60%;height:60%}

/* Bannière : séquence vidéo du live en fond (11/11/2026) */
.alaune-fonds i video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.mp-photo{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:6px 0 14px;padding:12px;border:1px solid var(--ligne);border-radius:14px;background:var(--carte2)}.mp-photo img,.mp-photo .mp-photo-vide{width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--carte);display:grid;place-items:center;font-size:28px}.mp-photo div{flex:1;min-width:200px}

/* Page de diffusion (11/11/2026) : réglages caméra et micro à gauche, image à droite avec le bouton de passage en direct dessous */
.diff-cam-grille{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.8fr);gap:20px;align-items:start}
.diff-cam-grille .apercu-cadre{width:100%;margin:0}
.diff-cam-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}
@media (max-width:860px){.diff-cam-grille{grid-template-columns:1fr}.diff-cam-btns{justify-content:stretch}.diff-cam-btns .btn{flex:1}}
.diff-cam-reglages,.diff-cam-image{min-width:0}.diff-cam-reglages select{width:100%;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Page de connexion (11/11/2026) : visuel à gauche, carte du formulaire à droite ; une colonne sur téléphone */
.cx{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,460px);gap:28px;max-width:1080px;margin:28px auto;padding:0 16px;align-items:center}
.cx-visuel{position:relative;overflow:hidden;border-radius:22px;padding:42px 36px;min-height:460px;background:linear-gradient(150deg,#2a1450,#120c22 60%,#3a0f36);border:1px solid var(--ligne)}
.cx-halo{position:absolute;inset:-30% -20% auto auto;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,79,163,.45),transparent 65%);pointer-events:none}
.cx-visuel h2{position:relative;font-size:clamp(26px,3.2vw,38px);line-height:1.15;margin:0 0 26px;max-width:16ch}
.cx-visuel ul{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:16px}.cx-visuel li{display:grid;gap:2px;padding-left:16px;border-left:3px solid #ff4fa3}.cx-visuel li span{color:var(--doux);font-size:14px}
.cx-carte{padding:26px 26px 20px}.cx-carte h1{font-size:26px;margin:14px 0 4px}.cx-onglets{margin:0}
.cx-form{display:grid;gap:14px;margin-top:16px}.cx-mdp{position:relative}.cx-mdp input{width:100%}
.cx-voir{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--doux);font:inherit;font-size:13px;cursor:pointer;padding:6px 8px}
.cx-lien{background:none;border:0;padding:0;color:#ff8ac4;font:inherit;font-size:14px;cursor:pointer;justify-self:start;margin-top:4px}.cx-lien:hover{text-decoration:underline}
.cx-envoyer{width:100%;justify-content:center;padding:13px}.cx-erreur{margin:0;color:#ff6b8a;font-size:14px}
.cx-ok{margin-top:16px;padding:14px;border-radius:12px;background:rgba(30,215,96,.1);border:1px solid rgba(30,215,96,.35)}.cx-ok p{margin:6px 0 0}
.cx-note{margin:18px 0 0;font-size:12.5px;color:var(--doux);line-height:1.45}
@media (max-width:860px){.cx{grid-template-columns:1fr;margin:16px auto}.cx-visuel{min-height:0;padding:26px 22px;order:2}.cx-visuel h2{font-size:24px}}
.cx-mdp input::-ms-reveal,.cx-mdp input::-ms-clear{display:none}
.cx-case{display:flex;gap:10px;align-items:flex-start}.cx-case input{flex:none;margin-top:3px}.cx-case span{flex:1;min-width:0}

/* Invitation à jouer dans le chat (11/11/2026) */
.inv-chat{display:flex;gap:10px;align-items:center;margin:6px 0;padding:10px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--g1,#7957ff) 45%,var(--carte2)),color-mix(in srgb,var(--g2,#ff4fa3) 35%,var(--carte2)));color:#fff}
.inv-ill{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(0,0,0,.22)}.inv-ill svg{width:36px;height:36px}
.inv-txt{flex:1;min-width:0;display:grid;gap:1px}.inv-txt small{opacity:.8;font-size:11.5px}.inv-txt em{font-style:normal;font-size:12.5px;opacity:.88;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-fin{font-size:12.5px;font-weight:800;white-space:nowrap}

/* Mes musiques IA (11/11/2026) */
.mp-mu-form{display:grid;gap:10px;margin:10px 0 16px;padding:12px;border:1px solid var(--ligne);border-radius:14px;background:var(--carte2)}.mp-mu-form textarea{width:100%;resize:vertical}
.mp-mu-lignes{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.mp-mu-choix{display:flex;gap:6px;align-items:center}
.mp-mu-ligne{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:'p t a' 'p s a';gap:0 10px;align-items:center;cursor:default}.mp-mu-ligne .mu-pastille{grid-area:p}.mp-mu-ligne b{grid-area:t}.mp-mu-ligne small{grid-area:s}.mp-mu-act{grid-area:a;display:flex;gap:6px}

/* Ma visibilité : notes de l'algorithme IA (11/11/2026) */
.tdb-algo{margin-top:18px;padding:18px;border:1px solid var(--ligne);border-radius:16px;background:var(--carte)}.tdb-algo-sel{padding:8px 12px;border-radius:10px;background:rgba(255,189,46,.12);border:1px solid rgba(255,189,46,.4)}
.tdb-algo-total{display:flex;gap:10px;align-items:center;margin:10px 0}.tdb-algo-total b{font-size:46px;line-height:1;background:linear-gradient(135deg,#ff4fa3,#7957ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.tdb-algo-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.tdb-algo-c{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 34px;gap:8px;align-items:center;margin:6px 0;font-size:14px}.tdb-algo-c i{height:8px;border-radius:5px;background:var(--carte2);overflow:hidden}.tdb-algo-c i b{display:block;height:100%;background:linear-gradient(90deg,#7957ff,#ff4fa3)}.tdb-algo-c em{font-style:normal;text-align:right;color:var(--doux)}
.tdb-algo-cons{margin:6px 0 0;padding-left:20px;display:grid;gap:4px}
/* Éditeur du fan club (11/11/2026) : onglets côte à côte en haut, contenu dessous (ne plus hériter de la grille de la carte .fc) */
.fc-ed{display:grid;gap:10px;align-content:start}.fc-ed .fc-onglets{align-self:start}

/* Mon profil › Mes jeux (11/11/2026) */
.mpj-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:14px}.mpj{display:grid;grid-template-columns:52px 1fr auto;grid-template-areas:'i t c' 'i p p';gap:4px 10px;align-items:center;padding:10px;border:1px solid var(--ligne);border-radius:14px;background:var(--carte2);cursor:pointer}.mpj.on{border-color:#ff4fa3;box-shadow:0 0 0 1px #ff4fa3 inset}
.mpj img,.mpj-ic{grid-area:i;width:52px;height:52px;border-radius:10px;object-fit:cover;display:grid;place-items:center;background:var(--carte);font-size:26px}.mpj-t{grid-area:t;display:grid;min-width:0}.mpj-t small{color:var(--doux)}.mpj>input[type=checkbox]{grid-area:c;width:20px;height:20px}.mpj-prix{grid-area:p;font-size:13px;color:var(--doux)}.mpj-prix input{width:80px}.mpj-compte{margin:4px 0 12px}

/* Tip menu sur la vidéo et ses thèmes (11/11/2026) : en transparence, lisible sur toute image */
.tm-video{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:6;display:grid;gap:6px;max-width:min(320px,46%);pointer-events:none;animation:tmEntre .5s ease-out}
.tm-video .tm-cmd{pointer-events:auto;display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:flex-end;font-size:12px}.tm-cmd button,.tm-cmd label{padding:4px 8px;border:0;border-radius:8px;background:rgba(0,0,0,.6);color:#fff;font:inherit;font-weight:700;cursor:pointer}.tm-cmd input{width:52px;background:transparent;border:0;border-bottom:1px solid #fff;color:#fff;font:inherit}
@keyframes tmEntre{from{opacity:0;transform:translateY(-50%) translateX(20px)}}
.tm-ecran{--a:#ff4fa3;--b:#7957ff;--f:rgba(20,10,35,.55);padding:12px 14px;border-radius:16px;background:var(--f);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid color-mix(in srgb,var(--a) 70%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--a) 45%,transparent);color:#fff}
.tm-tete{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}.tm-tete b{font-size:15px;background:linear-gradient(90deg,var(--a),var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}.tm-reste{font-size:11px;opacity:.8}
.tm-ecran ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.tm-ecran li{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:3px 0;border-bottom:1px dashed rgba(255,255,255,.15)}.tm-ecran li:last-child{border:0}.tm-ecran li b{color:var(--a);white-space:nowrap}.tm-ecran li b::after{content:" jetons";font-weight:600;font-size:11px;opacity:.8}
.tm-neon{--a:#22d3ee;--b:#ff4fa3;--f:rgba(8,12,30,.55)}.tm-rose{--a:#ff8ac4;--b:#ffc6e0;--f:rgba(60,20,45,.5)}.tm-or{--a:#ffd43b;--b:#f59e0b;--f:rgba(15,12,5,.6)}.tm-glace{--a:#a5f3fc;--b:#e0f2fe;--f:rgba(10,30,45,.45)}.tm-nuit{--a:#a78bfa;--b:#7957ff;--f:rgba(20,10,45,.6)}.tm-feu{--a:#ff7a3d;--b:#ff3b5c;--f:rgba(40,10,5,.55)}
.tm-lancer{position:absolute;left:12px;bottom:64px;z-index:7;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.5);font-size:18px;cursor:pointer}
.tm-choix{position:absolute;left:12px;bottom:110px;z-index:8;display:grid;gap:6px;min-width:230px;padding:12px;border-radius:14px;background:var(--carte);border:1px solid var(--ligne);box-shadow:0 10px 30px rgba(0,0,0,.5)}.tm-choix button{display:grid;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);color:inherit;font:inherit;cursor:pointer}.tm-choix button small{color:var(--doux)}.tm-choix a{font-size:13px;color:#ff8ac4}
/* Mon profil › Mes tip menus */
.tmp{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:14px;padding:14px;margin:10px 0;border:1px solid var(--ligne);border-radius:16px;background:var(--carte2)}.tmp.actif{border-color:#1ed760;box-shadow:0 0 0 1px #1ed760 inset}
.tmp-form{display:grid;gap:8px;min-width:0}.tmp-l1{display:flex;gap:8px;flex-wrap:wrap}.tmp-nom{flex:1;min-width:160px}.tmp-lignes{display:grid;gap:6px}.tmp-ligne{display:grid;grid-template-columns:minmax(0,1fr) 90px auto 32px;gap:6px;align-items:center}.tmp-x{border:0;background:none;color:var(--doux);cursor:pointer;font-size:16px}
.tmp-duree input{width:80px}.tmp-act{display:flex;gap:6px;flex-wrap:wrap}.tmp-apercu{display:grid;gap:6px;align-content:start}.tmp-video{position:relative;min-height:200px;padding:14px;border-radius:12px;background:linear-gradient(135deg,#3a2a5a,#1e1b4b 60%,#5a2a4a);display:grid;align-items:center;justify-items:end}.tmp-video .tm-ecran{width:min(100%,280px)}
.tmp-nouveau summary{cursor:pointer;font-weight:800;padding:8px 0}
@media (max-width:760px){.tmp{grid-template-columns:1fr}.tm-video{max-width:60%}}
/* Jeu de la salle sur la vidéo (11/11/2026) : centré par défaut, taille bornée par la hauteur de la vidéo (calculée par tailleSalle) */
.salle-live:not(.place){left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(44%,520px)}
.salle-live canvas{margin:0 auto}
@media (max-width:700px){ .salle-live:not(.place){width:72%} }
.sl-tete b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* Appli installable (11/11/2026) */
.quoi-neuf ul{margin:6px 0 0;padding-left:18px;text-align:left}
@media (display-mode: standalone){ body{padding-top:env(safe-area-inset-top)} }

/* Page Abonnements et offres (11/11/2026) */
.ab{max-width:1180px;margin:0 auto;padding:18px 16px 60px;display:grid;gap:26px}
.ab-hero{text-align:center;display:grid;gap:12px;justify-items:center;padding:30px 12px;border-radius:24px;background:radial-gradient(circle at 20% 10%,rgba(255,79,163,.25),transparent 50%),radial-gradient(circle at 85% 80%,rgba(121,87,255,.3),transparent 55%),var(--carte)}
.ab-hero h1{margin:0;font-size:clamp(28px,4.5vw,46px)}.ab-hero h1 span{background:linear-gradient(90deg,#ff4fa3,#7957ff);-webkit-background-clip:text;background-clip:text;color:transparent}.ab-hero p{max-width:640px;margin:0;color:var(--doux)}
.ab-bascule{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--carte2)}.ab-bascule button{border:0;border-radius:999px;padding:10px 18px;background:none;color:var(--doux);font:inherit;font-weight:800;cursor:pointer}.ab-bascule button.on{background:linear-gradient(135deg,#ff4fa3,#7957ff);color:#fff}
.ab-sec{display:grid;gap:12px}.ab-sec h2{margin:0}
.ab-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.ab-carte{position:relative;display:grid;gap:8px;align-content:start;padding:20px;border-radius:20px;background:var(--carte);border:1px solid var(--ligne);transition:transform .2s}.ab-carte:hover{transform:translateY(-4px)}
.ab-carte.star{border-color:#ff4fa3;box-shadow:0 0 0 1px #ff4fa3 inset,0 18px 40px rgba(255,79,163,.18);background:linear-gradient(160deg,rgba(255,79,163,.14),var(--carte) 45%)}
.ab-ruban{position:absolute;top:-11px;right:16px;padding:3px 10px;border-radius:999px;background:linear-gradient(135deg,#ff4fa3,#7957ff);font-size:12px;font-weight:800}.ab-ic{font-size:32px}.ab-carte h3{margin:0}.ab-prix{margin:0}.ab-prix b{font-size:28px}.ab-prix small{color:var(--doux)}.ab-barre{margin:0;color:var(--doux);font-size:13px}
.ab-carte ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px}.ab-actif{margin:0;color:#1ed760;font-weight:800}
.ab-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.ab-pack{display:grid;gap:2px;justify-items:center;padding:16px;border-radius:18px;border:1px solid var(--ligne);background:var(--carte2);color:inherit;font:inherit;cursor:pointer;transition:transform .2s}.ab-pack:hover{transform:scale(1.03);border-color:#ffbd2e}
.ab-pack b{font-size:30px}.ab-pack span,.ab-pack small{color:var(--doux)}.ab-pack em{font-style:normal;color:#ffbd2e;font-weight:800}.ab-pack strong{font-size:18px;margin-top:6px}
.ab-cons-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 20px}.ab-cons-g label{display:grid;gap:4px}.ab-coche{display:flex!important;gap:8px;align-items:center}.ab-reco{margin:0;padding:14px;border-radius:14px;background:var(--carte2);border-left:4px solid #ff4fa3}
.ab-ia{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.ab-ia article{display:grid;gap:4px;padding:14px;border-radius:16px;background:var(--carte);border:1px solid var(--ligne)}.ab-ia p{margin:0;color:var(--doux);font-size:14px}.ab-ia span{justify-self:start;padding:2px 10px;border-radius:999px;background:rgba(121,87,255,.2);font-size:12.5px;font-weight:800}.ab-gratuit{margin:0;color:#1ed760}
.ab-demo-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:14px}.ab-demo-cartes{display:grid;gap:8px;align-content:start}
.ab-dc{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid var(--ligne);background:var(--carte2);color:inherit;font:inherit;text-align:left;cursor:grab}.ab-dc span{font-size:24px}.ab-dc small{color:#ffbd2e;font-weight:800}.ab-dc:active{cursor:grabbing}
.ab-demo-room{display:grid;grid-template-rows:minmax(180px,1fr) auto;border-radius:18px;overflow:hidden;border:1px solid var(--ligne)}
.ab-demo-video{position:relative;background:radial-gradient(circle at 50% 40%,#5a2a6e,#140c24 70%);display:grid;place-items:center}.ab-demo-live{position:absolute;top:10px;left:10px;padding:2px 8px;border-radius:6px;background:#ff3b5c;font-size:12px;font-weight:800}
.ab-demo-goal{position:absolute;left:10px;right:10px;bottom:10px;display:grid;gap:3px;font-size:12px}.ab-demo-goal i{height:8px;border-radius:5px;background:rgba(255,255,255,.15);overflow:hidden}.ab-demo-goal i b{display:block;height:100%;background:linear-gradient(90deg,#ff4fa3,#7957ff);transition:width .6s}
.ab-demo-anim{display:grid;justify-items:center;gap:4px;opacity:0}.ab-demo-anim span{font-size:56px}.ab-demo-anim.on{animation:abPop 1.8s ease-out}@keyframes abPop{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1.15)}70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-30px)}}
.ab-demo-chat{height:190px;overflow:auto;padding:10px;background:var(--carte);display:grid;align-content:start;gap:6px;transition:box-shadow .2s}.ab-demo-chat.cible{box-shadow:inset 0 0 0 2px #ff4fa3}.ab-demo-msg{margin:0;font-size:13.5px}.ab-demo-msg b{color:#ff8ac4;margin-right:4px}.ab-demo-tip{padding:4px 8px;border-radius:10px;background:rgba(255,189,46,.12)}.ab-demo-inv{padding:4px 8px;border-radius:10px;background:rgba(121,87,255,.18)}.ab-demo-ok{color:#1ed760;font-weight:800}
.ab-demo-expl{margin:0;color:var(--doux)}
.ab-cond{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.ab-cond div{display:grid;gap:2px;padding:14px;border-radius:16px;background:var(--carte2)}.ab-cond span{font-size:26px}.ab-cond small{color:var(--doux)}
.ab-lovense{position:fixed;left:16px;bottom:18px;z-index:40;display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid rgba(255,79,163,.5);background:rgba(20,10,35,.9);color:#fff;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.ab-lovense svg{width:40px;height:40px;padding:9px;border-radius:50%;background:linear-gradient(135deg,#ff4fa3,#c13dff);fill:#fff;animation:abBat 2.4s ease-in-out infinite}.ab-lovense.relie svg{background:linear-gradient(135deg,#1ed760,#22b8cf)}@keyframes abBat{0%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1)}}
@media (max-width:760px){.ab-demo-g{grid-template-columns:1fr}.ab-lovense span{display:none}.ab-lovense{padding:6px}}
.point.abo{background:none;color:#ffbd2e;font-style:normal;font-size:12px;width:auto;height:auto;line-height:1}
/* Promotion sur la vidéo (11/11/2026) */
.promo-video{position:absolute;left:14px;top:62px;z-index:7;display:flex;gap:10px;align-items:center;max-width:min(360px,60%);padding:8px 12px 8px 8px;border-radius:16px;background:rgba(15,10,28,.78);backdrop-filter:blur(6px);border:1px solid rgba(255,79,163,.55);box-shadow:0 10px 28px rgba(0,0,0,.45);color:#fff;text-decoration:none;animation:pvEntre .5s ease-out;transition:opacity .6s,transform .6s}
.promo-video.fin{opacity:0;transform:translateX(-20px)}.promo-video img,.promo-video .pv-ic{flex:none;width:58px;height:58px;border-radius:12px;object-fit:cover;display:grid;place-items:center;background:linear-gradient(135deg,#ff4fa3,#7957ff);font-size:28px}
.pv-t{display:grid;min-width:0}.pv-t small{color:#ff8ac4;font-weight:800;font-size:11.5px}.pv-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-t em{font-style:normal;font-size:12.5px;color:#ffd43b}
@keyframes pvEntre{from{opacity:0;transform:translateX(-24px)}}
/* Croix de la bannière d'annonce (11/11/2026) */
.bannieres{position:relative}.bp-fermer{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:3;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.35);color:#fff;font-size:15px;line-height:1;cursor:pointer}.bp-fermer:hover{background:rgba(0,0,0,.6)}
/* Guide : démonstrations jouables (11/11/2026) */
.story-demo{width:100%;max-width:760px;margin:6px auto 0;text-align:left}
.dm{display:grid;gap:8px;padding:10px;border-radius:18px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.12)}
.dm-bandeau{justify-self:start;padding:2px 10px;border-radius:999px;background:rgba(255,189,46,.18);color:#ffd43b;font-size:11.5px;font-weight:800}.dm-titre{font-weight:800;font-size:14px;opacity:.85}
.dm-room{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px}.dm-video{position:relative;min-height:190px;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#6a2a7e,#160c28 70%);display:grid;place-items:end center}
.dm-sil{width:52%;max-width:170px;fill:rgba(0,0,0,.45)}.dm-live{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:6px;background:#ff3b5c;font-size:11.5px;font-weight:800}.dm-vues{position:absolute;top:8px;right:8px;font-size:12px;font-weight:800;background:rgba(0,0,0,.45);padding:2px 8px;border-radius:6px}
.dm-goal{position:absolute;left:8px;right:8px;bottom:8px;display:grid;gap:2px;font-size:11px}.dm-goal i{height:7px;border-radius:5px;background:rgba(255,255,255,.18);overflow:hidden}.dm-goal i b{display:block;height:100%;background:linear-gradient(90deg,#ff4fa3,#7957ff);transition:width .6s}
.dm-promo{position:absolute;left:8px;top:36px;display:flex;gap:8px;align-items:center;padding:6px 10px 6px 6px;border-radius:12px;background:rgba(15,10,28,.82);border:1px solid rgba(255,79,163,.6);opacity:0;max-width:85%}.dm-promo span:first-child{font-size:26px}.dm-promo small{display:block;color:#ff8ac4;font-size:10.5px;font-weight:800}.dm-promo b{font-size:13px}.dm-promo.on{animation:dmPromo 5s ease-out}
@keyframes dmPromo{0%{opacity:0;transform:translateX(-14px)}8%,85%{opacity:1;transform:none}100%{opacity:0}}
.dm-chat{height:220px;overflow:auto;padding:8px;border-radius:14px;background:rgba(0,0,0,.35);display:grid;align-content:start;gap:5px;font-size:12.5px;transition:box-shadow .2s}.dm-chat.cible{box-shadow:inset 0 0 0 2px #ff4fa3}.dm-chat p{margin:0}.dm-chat b{color:#ff8ac4}
.dm-tip{padding:3px 7px;border-radius:8px;background:rgba(255,189,46,.13)}.dm-inv{padding:3px 7px;border-radius:8px;background:rgba(121,87,255,.22)}.dm-ok{color:#1ed760;font-weight:800}.dm-bot{color:#22d3ee}
.dm-aide{margin:2px 0 0;font-size:13px;opacity:.85}.dm-cartes{display:flex;flex-wrap:wrap;gap:6px}.dm-carte{display:grid;grid-template-columns:auto 1fr;grid-template-areas:'i n' 'i p';column-gap:6px;align-items:center;padding:6px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font:inherit;text-align:left;cursor:grab}
.dm-carte span{grid-area:i;font-size:22px}.dm-carte b{grid-area:n;font-size:12.5px}.dm-carte small{grid-area:p;font-size:11px;color:#ffd43b}
.dm-algo{display:grid;gap:6px;padding:10px;border-radius:14px;background:rgba(121,87,255,.14);font-size:12.5px}.dm-algo em{font-style:normal;font-weight:900;font-size:16px;color:#ff8ac4}.dm-crit{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:4px 10px}.dm-crit span{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center}.dm-crit i{height:6px;border-radius:4px;background:rgba(255,255,255,.15);overflow:hidden}.dm-crit i b{display:block;height:100%;background:linear-gradient(90deg,#7957ff,#ff4fa3)}
.dm-sel{justify-self:start;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.08)}.dm-sel.on{background:rgba(255,189,46,.22);color:#ffd43b;font-weight:800}
.dm-rou .dm-video{min-height:220px}.dm-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dm-msg{margin:8px 0 0;font-size:13.5px}.dm-solde{font-size:22px;margin:0}.dm-btns .btn.ok{background:#1ed760;color:#0b0a12}.dm-liste{margin:8px 0 0;padding-left:18px;font-size:13px;display:grid;gap:3px}
@media (max-width:640px){.dm-room{grid-template-columns:1fr}.dm-chat{height:150px}}
.cv-desc{display:block;font-size:12px;opacity:.85;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cv-regarder{display:inline-block;margin-top:4px;padding:3px 10px;border-radius:999px;background:linear-gradient(135deg,#ff4fa3,#7957ff);color:#fff;font-weight:800;font-size:12px}
.ab-retour{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:16px;background:rgba(255,189,46,.12);border:1px solid rgba(255,189,46,.45)}.ab-retour.ok{background:rgba(30,215,96,.12);border-color:rgba(30,215,96,.5)}.ab-carte.cible{box-shadow:0 0 0 2px #ffbd2e inset}
/* Mon compte › Mes abonnements (11/11/2026) */
.cpt-abos-l{display:grid;gap:8px;margin:8px 0}.cpt-abo{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:14px;background:var(--carte2)}.cpt-abo-ic{font-size:26px}.cpt-abo small{display:block;color:#1ed760}
.cpt-abos-cta{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:10px;padding:14px;border-radius:16px;text-decoration:none;color:#fff;background:linear-gradient(135deg,rgba(255,79,163,.25),rgba(121,87,255,.25));border:1px solid rgba(255,79,163,.5)}.cpt-abos-cta span:first-child{font-size:30px}.cpt-abos-cta small{display:block;color:var(--doux)}
.ab-mes-l{display:grid;gap:8px}.ab-mes-c{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:16px;background:var(--carte);border:1px solid rgba(30,215,96,.4)}.ab-mes-c span:first-child{font-size:28px}.ab-mes-c small{display:block;color:#1ed760}
.ab-bon{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.ab-bon div{display:grid;gap:3px;padding:14px;border-radius:16px;background:var(--carte2)}.ab-bon span{font-size:26px}.ab-bon small{color:var(--doux);line-height:1.4}

/* Entrée discrète de l'équipe (11/11/2026) */
.eq-barre{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 14px;background:#2a1450;border-bottom:2px solid #e9b949}.eq-barre span{color:var(--doux);font-size:13px;flex:1}.eq-barre button{padding:6px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.3);color:#fff;font:inherit;font-weight:800;cursor:pointer}

/* Coffre à trésors : Lovense à acheter (11/11/2026) */
.tr-acheter{margin-top:4px;padding:4px 8px;border-radius:8px;border:1px solid rgba(255,77,166,.6);background:rgba(255,77,166,.14);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.tr-acheter:hover{background:rgba(255,77,166,.3)}.tr-cmd{display:block;font-size:11px;color:#e9b949;margin-top:2px}.tr-lv-aide{background:rgba(255,77,166,.1);border:1px solid rgba(255,77,166,.35);border-radius:12px;padding:8px 10px;font-size:13px;margin:6px 0}

/* Les 3 gestes CAMia Live (11/11/2026) : vitrine interactive (concepts.js) */
.g3{display:grid;gap:14px;margin:18px 0;padding:18px;border-radius:22px;background:radial-gradient(120% 90% at 0% 0%,rgba(255,77,166,.16),transparent 60%),radial-gradient(120% 90% at 100% 100%,rgba(140,90,255,.18),transparent 60%),rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12)}
.g3-tete h2{margin:2px 0 4px;font-size:clamp(22px,4vw,30px)}.g3-sur{margin:0;color:#ff4da6;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.g3-onglets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.g3-onglets button{display:grid;justify-items:center;gap:2px;padding:10px 6px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.25);color:#fff;font:inherit;cursor:pointer;transition:transform .15s,border-color .15s}
.g3-onglets button span{font-size:26px}.g3-onglets button b{font-size:14px}.g3-onglets button small{opacity:.7;font-size:11.5px}.g3-onglets button.on{border-color:#ff4da6;background:rgba(255,77,166,.16);transform:translateY(-2px)}
.g3-corps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}@media (max-width:820px){.g3-corps{grid-template-columns:1fr}}
.g3-accroche{font-size:16px;line-height:1.5;margin:0 0 10px}.g3-texte h3,.g3-h{margin:12px 0 6px;font-size:15px}
.g3-etapes{list-style:none;padding:0;margin:0;display:grid;gap:8px}.g3-etapes li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:14px;background:rgba(0,0,0,.22)}.g3-etapes li>span{font-size:22px;line-height:1}.g3-etapes b{display:block}.g3-etapes small{opacity:.8}
.g3-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.g3-liste div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;padding:8px 10px;border-radius:14px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08)}.g3-liste span{grid-row:span 2;font-size:22px}.g3-liste small{opacity:.75;font-size:12px}
.g3-pied{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0}
/* animation : une carte glisse toute seule dans le chat */
.g3-anim{position:relative;height:120px;border-radius:16px;background:rgba(0,0,0,.3);overflow:hidden;margin:6px 0}
.g3-a-chat{position:absolute;right:8px;top:8px;bottom:8px;width:58%;border-radius:12px;background:rgba(255,255,255,.06);padding:6px 8px;font-size:12px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}.g3-a-chat p{margin:0}
.g3-a-ligne{opacity:0;background:rgba(255,77,166,.22);border-radius:8px;padding:3px 6px;animation:g3-ligne 3.6s infinite}
.g3-a-carte{position:absolute;left:10px;bottom:12px;display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:12px;background:#1b1430;border:1px solid #ff4da6;font-size:12px;font-weight:800;animation:g3-glisse 3.6s infinite}.g3-a-carte span{font-size:18px}
.g3-a-main{position:absolute;left:40px;bottom:0;font-size:24px;animation:g3-main 3.6s infinite}
@keyframes g3-ligne{0%,58%{opacity:0;transform:translateY(6px)}66%,92%{opacity:1;transform:none}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.g3-a-carte,.g3-a-main,.g3-a-ligne{animation:none}.g3-a-ligne{opacity:1}}
/* démo du coffre */
.g3-vues{display:flex;gap:6px}.g3-vues button{flex:1;padding:6px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.25);color:#fff;font:inherit;font-weight:800;cursor:pointer}.g3-vues button.on{border-color:#ff4da6;background:rgba(255,77,166,.18)}
.g3-vid{position:relative;min-height:150px}.g3-chat{position:absolute;right:8px;bottom:8px;width:60%;display:grid;gap:3px;font-size:12px}.g3-chat p{margin:0;padding:3px 6px;border-radius:8px;background:rgba(0,0,0,.5)}.g3-chat.cible{outline:2px dashed #ff4da6;outline-offset:3px}
.g3-cof-promo{position:absolute;left:8px;top:30px;display:flex;gap:8px;align-items:center;padding:6px 10px 6px 6px;border-radius:12px;background:rgba(11,10,18,.85);border:1px solid #ff4da6;opacity:0}.g3-cof-promo img{width:40px;height:40px;border-radius:8px;object-fit:cover}.g3-cof-promo small{display:block;opacity:.75;font-size:11px}.g3-cof-promo.on{animation:ao-entree .4s both;opacity:1}
.g3-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.g3-obj{display:grid;justify-items:center;text-align:center;gap:2px;font-size:12px;cursor:grab}.g3-obj small{opacity:.75;font-size:11px}
.g3-img{position:relative;width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;border:2px solid transparent;background:rgba(255,255,255,.05);padding:0;cursor:pointer}.g3-img img{width:100%;height:100%;object-fit:cover}.g3-obj.a .g3-img{border-color:#2fbf71}.g3-img i{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#2fbf71;color:#fff;font-style:normal;font-size:12px;display:grid;place-items:center}
.g3-acheter{display:inline-block;margin-top:2px;padding:3px 7px;border-radius:8px;border:1px solid rgba(255,77,166,.6);background:rgba(255,77,166,.14);color:#fff;font-weight:800;font-size:11px;text-decoration:none}.g3-part{font-size:10px!important}
.g3-astuce{margin:4px 0 0;font-size:13px;background:rgba(255,77,166,.1);border-radius:12px;padding:8px 10px}
/* version compacte (accueil, abonnements, FAQ…) */
.g3-compact{position:relative;display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:16px;align-items:center;margin:18px 0;padding:16px;border-radius:22px;background:radial-gradient(120% 120% at 0% 0%,rgba(255,77,166,.2),transparent 60%),rgba(255,255,255,.03);border:1px solid rgba(255,77,166,.35)}
.g3-compact h2{margin:2px 0 6px;font-size:clamp(20px,3.5vw,28px)}.g3-compact p{margin:0 0 8px}.g3-puces{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.g3-puces span{padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.15);font-size:12.5px;font-weight:800}
.g3-compact .g3-anim{margin:0}@media (max-width:700px){.g3-compact{grid-template-columns:1fr}}
.g3-fermer{position:absolute;top:8px;right:10px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(0,0,0,.4);color:#fff;font-size:18px;cursor:pointer;z-index:2}
.g3-dlg{width:min(1100px,96vw);max-height:92vh;overflow:auto;padding:4px 10px}.g3-dlg .g3{margin:6px 0}
@keyframes g3-glisse{0%,12%{left:10px;bottom:12px;opacity:1;transform:scale(1)}55%{left:46%;bottom:50px;opacity:1;transform:scale(.92)}62%,100%{left:46%;bottom:50px;opacity:0;transform:scale(.6)}}
@keyframes g3-main{0%,12%{left:40px;bottom:0;opacity:1}55%{left:calc(46% + 30px);bottom:38px;opacity:1}62%,100%{left:calc(46% + 30px);bottom:38px;opacity:0}}
/* icônes au trait de la vitrine des 3 gestes (11/11/2026) */
.g3 .ic,.g3-compact .ic{flex:none}.g3-onglets button span .ic{width:30px;height:30px;color:#ff4da6}.g3-etapes li>span .ic,.g3-liste span .ic{width:24px;height:24px;color:#ff4da6}
.g3-a-carte span .ic{width:18px;height:18px;color:#ff4da6}.g3-a-main .ic{width:28px;height:28px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}
.g3-a-chat .ic,.g3-chat .ic,.g3-puces .ic,.g3-vues .ic,.g3-acheter .ic,.g3-astuce .ic{width:15px;height:15px;vertical-align:-3px}.g3-img i .ic{width:13px;height:13px}
.g3,.g3-compact{text-align:left}

/* cadeaux glissables partout, image dans le chat, trop chers grisés (11/11/2026) */
.tip.cadeau .cadeau-ic.chat{width:26px;height:26px;vertical-align:-8px;margin-right:2px;filter:drop-shadow(0 0 6px rgba(255,79,154,.5))}.cadeau-btn,.cadeau-rapide,.cp-cadeau{cursor:grab}.trop-cher{opacity:.4;filter:grayscale(.7)}
.fil .tip.cadeau svg.cadeau-ic.chat{width:24px!important;height:24px!important;min-height:0!important;max-height:24px!important;display:inline-block!important;vertical-align:-7px}
.suivi-t{width:100%;border-collapse:collapse}.suivi-t th{text-align:left;vertical-align:top;padding:6px 10px 6px 0;color:var(--doux);font-weight:700;width:34%}.suivi-t td{padding:6px 0}

/* recours (11/11/2026) */
.suivi-rec{margin:10px 0;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05)}.suivi-rec p{margin:6px 0}.suivi-form{display:grid;gap:10px;margin-top:12px;padding:12px;border-radius:14px;border:1px solid rgba(255,77,166,.35);background:rgba(255,77,166,.06)}.suivi-form label{display:grid;gap:4px;font-weight:700}.suivi-form textarea,.suivi-form input,.suivi-form select{font:inherit;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.3);color:inherit}.suivi-ok{padding:10px 12px;border-radius:12px;background:rgba(47,191,113,.15)}
