/* Pot-Pourri — compléments de l'administration */
.ad-creer{ display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; padding:18px; border-radius:20px; background:var(--pp-carte);
  border:1px solid var(--pp-ligne); margin-bottom:22px; }
.ad-parties{ display:flex; flex-direction:column; gap:14px; }
.ad-partie{ padding:18px; border-radius:20px; background:var(--pp-carte); border:1px solid var(--pp-ligne); }
.ad-partie.archivee{ opacity:.6; }
.ad-partie-tete{ display:flex; gap:14px; align-items:center; margin-bottom:12px; }
.ad-partie h2{ margin:0; font-size:20px; }
.ad-partie p{ margin:2px 0 0; }
.ad-vign{ flex:0 0 64px; width:64px; height:64px; border-radius:50%; overflow:hidden; display:grid; place-items:center;
  background:#2B2832; font:800 26px/1 var(--pp-titre); color:var(--pp-or); border:2px solid var(--pp-or); }
.ad-vign img{ width:100%; height:100%; object-fit:cover; }
.ad-meta{ font-size:14px; color:var(--pp-doux); }
.ad-statut{ font-weight:800; }
.ad-boutons{ display:flex; flex-wrap:wrap; gap:8px; }
.ad-boutons form{ display:contents; }
.ad-supprimer{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:12px; padding-top:12px; border-top:1px solid var(--pp-ligne); font-size:14px; color:#FFB3BC; }
.ad-h2{ font-size:18px; margin:36px 0 12px; }
.ad-apps{ list-style:none; margin:0; padding:0; display:grid; gap:8px; max-width:520px; }
.ad-apps li{ display:flex; justify-content:space-between; gap:10px; padding:10px 14px; border-radius:12px; background:var(--pp-carte); border:1px solid var(--pp-ligne); }
.ad-apps b{ color:var(--pp-doux); font-size:13px; } .ad-apps b.ok{ color:var(--pp-ok); }

/* Onglets d'une partie */
.ad-onglets{ display:flex; gap:6px; flex-wrap:wrap; margin:0 0 20px; border-bottom:1px solid var(--pp-ligne); }
.ad-onglets a{ padding:11px 16px; text-decoration:none; color:var(--pp-doux); font-weight:700; border-bottom:3px solid transparent; margin-bottom:-1px; }
.ad-onglets a.actif{ color:var(--pp-texte); border-bottom-color:var(--pp-or); }
.ad-grille{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:0 18px; }
.ad-bloc{ padding:20px; border-radius:20px; background:var(--pp-carte); border:1px solid var(--pp-ligne); margin-bottom:16px; }
.ad-bloc h3{ margin:0 0 12px; font-size:17px; }
.ad-barre{ position:sticky; bottom:0; display:flex; gap:10px; justify-content:flex-end; padding:14px 0; background:linear-gradient(to top,var(--pp-fond) 70%,transparent); }

/* Galerie photos */
.ad-photos{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); gap:14px; }
.ad-photo{ padding:12px; border-radius:16px; background:#19181D; border:1px solid var(--pp-ligne); }
.ad-photo.principale{ border-color:var(--pp-or); }
.ad-cadres{ display:flex; gap:10px; align-items:flex-end; margin-bottom:10px; }
.ad-cadre{ position:relative; overflow:hidden; background:#000; }
.ad-cadre.rond{ width:96px; height:96px; border-radius:50%; }
.ad-cadre.haut{ width:110px; height:150px; border-radius:10px; }
.ad-cadre img{ position:absolute; max-width:none; }
.ad-photo label{ display:block; font-size:12.5px; color:var(--pp-doux); margin-top:6px; }
.ad-photo input[type=range]{ width:100%; accent-color:var(--pp-or); }

/* Choix des thèmes */
.ad-themes{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr)); gap:10px; }
.ad-theme{ position:relative; display:block; padding:12px; border-radius:14px; background:#19181D; border:2px solid var(--pp-ligne); cursor:pointer; }
.ad-theme input{ position:absolute; opacity:0; }
.ad-theme:has(input:checked){ border-color:var(--pp-or); box-shadow:0 0 0 2px var(--pp-or) inset; }
.ad-theme input:focus-visible + .ad-theme-nom{ outline:2px solid var(--pp-or); }
.ad-pastilles{ display:flex; gap:4px; margin-bottom:8px; }
.ad-pastilles i{ width:26px; height:26px; border-radius:50%; border:1px solid rgba(255,255,255,.2); }
.ad-theme-nom{ font-weight:800; font-size:14px; }
.ad-theme small{ display:block; color:var(--pp-doux); font-size:12px; margin-top:3px; line-height:1.35; }

/* Questions */
.ad-questions{ display:flex; flex-direction:column; gap:8px; }
.ad-q{ border-radius:14px; background:var(--pp-carte); border:1px solid var(--pp-ligne); }
.ad-q > summary{ display:flex; gap:10px; align-items:center; padding:12px 14px; cursor:pointer; list-style:none; }
.ad-q > summary::-webkit-details-marker{ display:none; }
.ad-q .num{ flex:0 0 34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#2B2832; font-weight:800; font-size:14px; }
.ad-q .txt{ flex:1 1 auto; min-width:0; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ad-q .tags{ display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
.ad-tag{ padding:3px 8px; border-radius:999px; font-size:11.5px; font-weight:800; background:#2B2832; color:var(--pp-doux); white-space:nowrap; }
.ad-tag.bonus{ background:#4A3712; color:#FFD27A; } .ad-tag.super_bonus{ background:#2A1F52; color:#B9A6FF; } .ad-tag.finale{ background:#4A1218; color:#FF9AA6; }
.ad-q-corps{ padding:4px 14px 14px; }
.ad-opt{ display:flex; gap:8px; align-items:center; margin-bottom:8px; }
.ad-opt b{ flex:0 0 26px; text-align:center; }
.ad-opt input[type=text]{ flex:1 1 auto; min-width:0; padding:10px 12px; border-radius:12px; font:600 15px/1.3 var(--pp-corps); color:var(--pp-texte); background:#16151A; border:2px solid var(--pp-ligne); }
.ad-opt label{ display:flex; gap:5px; align-items:center; font-size:13px; color:var(--pp-doux); white-space:nowrap; }
.ad-opt input[type=checkbox]{ width:20px; height:20px; accent-color:var(--pp-ok); }
.ad-ligne{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ad-ligne form{ display:inline; }

/* Pilotage */
.ad-pilote{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:16px; }
@media (max-width:820px){ .ad-pilote{ grid-template-columns:1fr; } }
.ad-gros{ font:800 46px/1 var(--pp-titre); color:var(--pp-or); }
.ad-joueurs{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; max-height:420px; overflow:auto; }
.ad-joueurs li{ display:flex; gap:8px; align-items:center; padding:7px 10px; border-radius:10px; background:#19181D; font-size:14.5px; }
.ad-joueurs .pt{ width:9px; height:9px; border-radius:50%; background:#555; flex:0 0 9px; } .ad-joueurs .pt.on{ background:var(--pp-ok); }
.ad-joueurs .sc{ margin-left:auto; font-weight:800; font-variant-numeric:tabular-nums; }
.ad-joueurs .ok{ color:var(--pp-ok); font-size:12px; font-weight:800; }
.ad-barres{ display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.ad-barres div{ position:relative; padding:8px 10px; border-radius:10px; background:#19181D; overflow:hidden; font-size:14px; }
.ad-barres div i{ position:absolute; left:0; top:0; bottom:0; background:rgba(227,190,99,.22); }
.ad-barres div.bonne i{ background:rgba(62,213,152,.28); }
.ad-barres span{ position:relative; }
.ad-table{ width:100%; border-collapse:collapse; font-size:14.5px; }
.ad-table th, .ad-table td{ text-align:left; padding:8px 6px; border-bottom:1px solid var(--pp-ligne); vertical-align:middle; }
.ad-table td.n{ font-variant-numeric:tabular-nums; }
.ad-defile{ overflow-x:auto; }
.ad-mini{ width:38px; height:38px; border-radius:50%; object-fit:cover; display:block; background:#2B2832; }

/* =========================================================
   CRÉER UN JEU (assistant)
   ========================================================= */
.g-etapes{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 18px; }
.g-etapes li{ padding:8px 14px; border-radius:999px; border:2px solid var(--pp-ligne); color:var(--pp-doux); font-weight:700; font-size:14px; }
.g-etapes li a{ color:inherit; text-decoration:none; }
.g-etapes li b{ display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--pp-ligne); color:var(--pp-texte); margin-right:4px; font-size:12px; }
.g-etapes li.actif{ border-color:var(--pp-or); color:var(--pp-texte); }
.g-etapes li.actif b{ background:var(--pp-or); color:#16151A; }
.g-etapes li.fait b{ background:var(--pp-ok); color:#16151A; }
.g-bloc{ background:var(--pp-carte); border:1px solid var(--pp-ligne); border-radius:18px; padding:18px; margin:0 0 16px; }
.g-bloc h3{ margin:0 0 10px; font-size:20px; }
.g-bloc h3 small{ font-size:13px; color:var(--pp-doux); margin-left:6px; }
.g-conds{ display:grid; gap:8px; }
.g-cond{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; padding:10px 12px; border-radius:12px; background:var(--pp-fond2); }
.g-cond span{ flex:1 1 220px; font-weight:700; }
.g-cond label{ display:flex; align-items:center; gap:5px; font-size:14px; color:var(--pp-doux); }
.g-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.g-chip input{ position:absolute; opacity:0; pointer-events:none; }
.g-chip span{ display:inline-block; padding:9px 14px; border-radius:999px; border:2px solid var(--pp-ligne); font-weight:700; cursor:pointer; user-select:none; }
.g-chip input:checked + span{ border-color:var(--pp-or); background:rgba(227,190,99,.14); color:var(--pp-or); }
.g-chip input:focus-visible + span{ outline:2px solid var(--pp-or); outline-offset:2px; }
.gq{ padding:12px 0; border-top:1px solid var(--pp-ligne); }
.gq:first-of-type{ border-top:0; }
.gq-l{ display:block; font-weight:700; margin:0 0 6px; }
.gq.rempli .gq-l::after{ content:" ✓"; color:var(--pp-ok); }
.gq input, .gq select, .g-perso input, .g-perso select, .g-lien{ width:100%; box-sizing:border-box; padding:10px 12px; border-radius:12px; border:2px solid var(--pp-ligne);
  background:#16151A; color:var(--pp-texte); font:600 15px var(--pp-corps); }
.gq input:focus, .gq select:focus, .g-perso input:focus{ outline:none; border-color:var(--pp-or); }
.gq-reg{ margin-top:6px; }
.gq-reg summary{ cursor:pointer; color:var(--pp-doux); font-size:13px; font-weight:700; }
.gq-grille{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:8px; margin:8px 0; }
.gq-grille label span{ display:block; font-size:12px; color:var(--pp-doux); font-weight:700; margin-bottom:3px; }
.gq-mode{ display:grid; gap:4px; margin:6px 0; font-size:14px; }
.gq-mode label{ display:flex; gap:6px; align-items:center; }
.gq-mode input{ width:auto; }
.gq-faux{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:6px; margin-top:6px; }
.gq-aide{ font-size:13px; color:var(--pp-or); margin:6px 0 0; }
.gq-propose{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:6px; font-size:13px; color:var(--pp-doux); }
.gq-prendre{ border:0; border-radius:999px; padding:4px 10px; background:var(--pp-ligne); color:var(--pp-texte); font-weight:700; cursor:pointer; }
.g-perso{ padding:14px; border-radius:14px; background:var(--pp-fond2); border:1px solid var(--pp-ligne); margin:0 0 12px; }
.g-si{ display:none; }
.g-perso[data-type="qcm"] .g-si-qcm, .g-perso[data-type="annee"] .g-si-qcm, .g-perso[data-type="quiadit"] .g-si-qcm,
.g-perso[data-type="photo"] .g-si-qcm, .g-perso[data-type="photo"] .g-si-photo, .g-perso[data-type="vf"] .g-si-vf{ display:block; }
.g-aide-auto{ display:none; }
.g-perso[data-type="annee"] .g-aide-auto, .g-perso[data-type="quiadit"] .g-aide-auto, .g-perso[data-type="photo"] .g-aide-auto{ display:block; }
.g-perso-img{ display:block; width:90px; height:90px; object-fit:cover; border-radius:12px; margin:6px 0; }
.g-coche{ display:flex; gap:8px; align-items:center; margin:6px 0; }
.g-coche input{ width:auto; }
.g-barre-fixe{ position:sticky; bottom:0; z-index:5; display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end;
  padding:12px 14px calc(12px + env(safe-area-inset-bottom, 0px)); margin:0 -4px; background:rgba(20,19,23,.94); border-top:1px solid var(--pp-ligne); }
.g-compte{ margin-right:auto; color:var(--pp-doux); }
.g-compte b{ color:var(--pp-or); font-size:20px; }
.g-rond{ width:120px; height:120px; border-radius:50%; overflow:hidden; border:3px solid var(--pp-or); margin:6px 0 0; }
.g-rond img{ width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
.g-gros{ font-size:22px; margin:4px 0 10px; }
.g-gros b{ color:var(--pp-or); font-size:40px; }
.g-niveaux{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0 0 12px; }
.g-niveaux li{ padding:10px 14px; border-radius:14px; background:var(--pp-fond2); font-weight:700; }
.g-niveaux b{ font-size:20px; margin:0 4px; }
.g-designs{ display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:12px; }
.g-design{ position:relative; cursor:pointer; text-align:center; }
.g-design input{ position:absolute; opacity:0; }
.g-ecran{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:14px 10px; border-radius:16px; border:3px solid transparent; aspect-ratio:9/14; max-width:100%; box-sizing:border-box; }
.g-design input:checked + .g-ecran{ border-color:var(--pp-or); box-shadow:0 0 0 3px rgba(227,190,99,.25); }
.g-design input:focus-visible + .g-ecran{ outline:2px solid var(--pp-or); }
.g-mini-rond{ width:62px; height:62px; border-radius:50%; overflow:hidden; border:3px solid; display:grid; place-items:center; font-weight:800; font-size:24px; }
.g-mini-rond img{ width:100%; height:100%; object-fit:cover; }
.g-mini-txt{ font-weight:800; font-size:15px; }
.g-mini-btn{ display:block; width:80%; height:12px; border-radius:6px; }
.g-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.g-proches .g-lien{ flex:1 1 260px; font-size:13px; }
.g-accueil{ margin-bottom:16px; border-color:var(--pp-or); }
.g-brouillons{ list-style:none; padding:0; margin:14px 0 0; display:grid; gap:8px; }
.g-brouillons li{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:10px 12px; border-radius:12px; background:var(--pp-fond2); }
.g-brouillons li .pp-note{ flex:1 1 200px; margin:0; }
.ad-qr{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.ad-qr canvas, .ad-qr img{ background:#fff; padding:10px; border-radius:12px; width:180px; height:180px; image-rendering:pixelated; }
#qr{ width:180px; background:#fff; padding:10px; border-radius:12px; cursor:zoom-in; }
#qr svg, #qr2 svg{ display:block; width:100%; height:auto; }
#qr-grand[hidden]{ display:none !important; }
