/* Quizz Rugby v2.2 — Création Benoît FAUCHER */
:root{
  --pelouse:#0f3d2e; --pelouse2:#145a41; --nuit:#0a2a20; --craie:#f6f3ea; --craie2:#d9e4dc;
  --or:#f2b632; --rouge:#d64545; --vert:#2fbf71;
  --a:#9b1b30; --b:#1f3a93; --c:#c98a00; --d:#0f7f81;
  --r:14px; --ombre:0 6px 18px rgba(0,0,0,.25);
  --titre:"Barlow Condensed","Roboto Condensed","Arial Narrow",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--craie);min-height:100vh;position:relative;
  background:radial-gradient(ellipse at 50% 40%,#17573f 0%,var(--pelouse) 70%);background-attachment:fixed;
  display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent}
main{flex:1}
a{color:var(--or)}
h1,h2,h3{font-family:var(--titre);letter-spacing:.02em;margin:.4em 0}
h2{font-size:1.6rem;text-transform:uppercase}
code{background:rgba(0,0,0,.25);padding:1px 6px;border-radius:6px}
.wrap{width:100%;max-width:720px;margin:0 auto;padding:18px 16px 30px}
.wrap.large{max-width:1180px}
.wrap.narrow{max-width:480px}
.logo{font-size:2.6rem;text-transform:uppercase;line-height:1;text-align:center;margin:18px 0 6px;font-weight:800}
.logo span{color:var(--or)}
.logo .ver{font-size:.9rem;vertical-align:super;color:var(--craie2);font-weight:600}
.sub{text-align:center;color:var(--craie2);margin:0 0 18px}
.card{background:rgba(5,25,18,.55);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:18px;margin:14px 0;box-shadow:var(--ombre)}
.card.clair{background:var(--craie);color:#13261e}
.card.clair a{color:var(--pelouse2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--or);color:#1b1404;border:0;border-radius:12px;
  padding:14px 20px;font-weight:800;font-size:1.05rem;text-decoration:none;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:.03em;
  box-shadow:0 4px 0 #a97a12;transition:transform .08s}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #a97a12}
.btn.full{width:100%}
.btn.ghost{background:transparent;color:var(--craie);border:2px solid rgba(255,255,255,.35);box-shadow:none}
.btn.rouge{background:var(--rouge);color:#fff;box-shadow:0 4px 0 #8f2626}
.btn.vert{background:var(--vert);color:#062616;box-shadow:0 4px 0 #1b7a46}
.btn.petit{padding:8px 12px;font-size:.85rem;border-radius:9px}
.btn[disabled]{opacity:.5;pointer-events:none}
.menu{display:grid;gap:14px}
.logo+.menu,.logo+.card,.logo+form.card{margin-top:26px}
.menu .btn{padding:20px;font-size:1.2rem}
.menu small{display:block;text-transform:none;font-weight:500;letter-spacing:0;font-size:.85rem;opacity:.8}
.menu .btn{flex-direction:column}

/* Formulaires */
.form label{display:block;margin:10px 0;font-weight:600;font-size:.95rem}
.form input,.form select,.form textarea,input.code{width:100%;margin-top:5px;padding:12px;border-radius:10px;border:1px solid rgba(0,0,0,.2);
  font-size:1rem;font-family:inherit;background:#fff;color:#13261e}
.form textarea{min-height:80px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
input.code{font-size:2rem;text-align:center;letter-spacing:.3em;text-transform:uppercase;font-weight:800;font-family:var(--titre)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.chip{position:relative}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:8px 12px;border-radius:999px;border:2px solid rgba(255,255,255,.3);font-size:.9rem;cursor:pointer;user-select:none}
.chip input:checked+span{background:var(--or);border-color:var(--or);color:#1b1404;font-weight:700}
.card.clair .chip span{border-color:#9db3a7}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.ok{background:rgba(47,191,113,.2);border-left:4px solid var(--vert);padding:10px;border-radius:8px}
.error{background:rgba(214,69,69,.2);border-left:4px solid var(--rouge);padding:10px;border-radius:8px}
.warn{background:rgba(242,182,50,.18);border-left:4px solid var(--or);padding:10px;border-radius:8px}
.muted{color:var(--craie2);opacity:.85;font-size:.9rem}
.center{text-align:center}
.hidden{display:none!important}

/* Jeu */
.hud{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;margin-bottom:8px}
.pill{background:rgba(0,0,0,.3);padding:6px 12px;border-radius:999px;font-size:.9rem;white-space:nowrap}
.pill.or{background:var(--or);color:#1b1404}
.theme-tag{display:inline-block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--or);font-weight:800}
.qtexte{font-size:1.35rem;line-height:1.3;font-weight:700;margin:8px 0 14px;min-height:3.5em}
.timer{height:10px;background:rgba(0,0,0,.35);border-radius:99px;overflow:hidden;margin:6px 0 14px}
.timer i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--vert),var(--or));transform-origin:left;transition:transform .2s linear}
.timer.urgent i{background:var(--rouge)}
.compte{font-family:var(--titre);font-size:2.2rem;font-weight:800;text-align:center}
.reponses{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:560px){.reponses{grid-template-columns:1fr 1fr}}
.rep{position:relative;display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 14px 14px 12px;border:0;border-radius:14px;color:#fff;
  font-size:1.02rem;font-weight:700;text-align:left;cursor:pointer;font-family:inherit;box-shadow:0 5px 0 rgba(0,0,0,.35);transition:transform .08s,opacity .2s,filter .2s}
.rep:active{transform:translateY(3px)}
.rep b{flex:0 0 38px;height:38px;border-radius:10px;background:rgba(255,255,255,.22);display:grid;place-items:center;font-family:var(--titre);font-size:1.4rem}
.rep.r0{background:var(--a)}.rep.r1{background:var(--b)}.rep.r2{background:var(--c)}.rep.r3{background:var(--d)}
.reponses.verrou .rep{pointer-events:none}
.reponses.verrou .rep:not(.choisie){opacity:.45;filter:saturate(.4)}
.rep.choisie{outline:4px solid #fff}
.rep.juste{opacity:1!important;filter:none!important;outline:4px solid var(--vert)}
.rep.juste::after{content:"✓";position:absolute;right:12px;font-size:1.6rem}
.rep.faux::after{content:"✗";position:absolute;right:12px;font-size:1.6rem}
.feedback{border-radius:var(--r);padding:16px;margin:14px 0;text-align:center}
.feedback.bon{background:rgba(47,191,113,.22);border:2px solid var(--vert)}
.feedback.mauvais{background:rgba(214,69,69,.22);border:2px solid var(--rouge)}
.feedback .gros{font-family:var(--titre);font-size:2rem;font-weight:800;text-transform:uppercase}
.explication{background:var(--craie);color:#13261e;border-radius:12px;padding:12px 14px;text-align:left;margin-top:10px;font-size:.98rem}
.explication small{display:block;color:#4b6358;margin-top:6px}
.attente{text-align:center;padding:30px 10px}
.ballon{width:70px;height:46px;margin:0 auto 12px;animation:rebond 1.1s ease-in-out infinite}
@keyframes rebond{0%,100%{transform:translateY(0) rotate(-20deg)}50%{transform:translateY(-14px) rotate(20deg)}}
.podium{list-style:none;padding:0;margin:0}
.podium li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.25);margin:6px 0;font-weight:700}
.podium li .rg{font-family:var(--titre);font-size:1.4rem;width:36px;text-align:center}
.podium li .nm{flex:1}
.podium li.moi{outline:2px solid var(--or)}
.podium li:nth-child(1) .rg{color:var(--or)}
.recap{list-style:none;padding:0}
.recap li{background:rgba(0,0,0,.22);border-radius:10px;padding:10px 12px;margin:8px 0;border-left:5px solid var(--rouge)}
.recap li.bon{border-left-color:var(--vert)}
.recap .q{font-weight:700}
.recap .e{font-size:.9rem;color:var(--craie2);margin-top:4px}
.big-score{font-family:var(--titre);font-size:3.4rem;font-weight:800;color:var(--or);text-align:center;line-height:1}

/* Écran animateur */
.anim .qtexte{font-size:2rem;text-align:center}
.anim .reponses .rep{min-height:90px;font-size:1.3rem}
.joincode{font-family:var(--titre);font-size:4.5rem;font-weight:800;letter-spacing:.15em;color:var(--or);text-align:center;line-height:1}
.joueurs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.joueurs span{background:rgba(255,255,255,.12);padding:8px 12px;border-radius:999px;font-weight:700}
.barres{display:flex;gap:12px;align-items:flex-end;height:170px;margin:12px 0}
.barres div{flex:1;border-radius:10px 10px 0 0;display:flex;align-items:flex-start;justify-content:center;color:#fff;font-weight:800;padding-top:6px;min-height:30px;transition:height .5s}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:14px 0}
#qrcode{background:#fff;padding:10px;border-radius:10px;display:inline-block}
#qrcode img,#qrcode canvas{display:block}

/* Back-office */
.admin-nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center;background:var(--nuit);padding:10px 16px}
.admin-nav a{color:var(--craie);text-decoration:none;padding:8px 12px;border-radius:9px;font-weight:600}
.admin-nav a.on,.admin-nav a:hover{background:rgba(255,255,255,.1)}
.admin-nav .brand{font-family:var(--titre);font-size:1.4rem;font-weight:800;text-transform:uppercase;margin-right:auto}
.admin-nav .brand span{color:var(--or)}
table.tab{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--craie);color:#13261e;border-radius:12px;overflow:hidden}
.tab th,.tab td{padding:9px 10px;border-bottom:1px solid #d7e0da;text-align:left;vertical-align:top}
.tab th{background:#dfe9e2;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.tab tr.inactif td{opacity:.5}
.tab .actions{white-space:nowrap}
.scroll{overflow-x:auto}
.badge{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:99px;background:#cfe0d6;color:#13261e;font-weight:700;margin:1px}
.badge.or{background:var(--or)}
.badge.rouge{background:#f3c1c1}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-bottom:12px}
.filters select,.filters input{padding:9px;border-radius:9px;border:1px solid #9db3a7;font-family:inherit}
.stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.stat div{background:rgba(0,0,0,.25);border-radius:12px;padding:12px;text-align:center}
.stat b{display:block;font-family:var(--titre);font-size:2rem;color:var(--or)}
.share{display:flex;gap:8px;flex-wrap:wrap}
.lien{display:flex;gap:8px}
.lien input{flex:1;padding:10px;border-radius:9px;border:0;font-size:.95rem}
.credit{text-align:center;font-size:.8rem;color:var(--craie2);opacity:.75;padding:14px}
@media(max-width:560px){.form .row{grid-template-columns:1fr}.joincode{font-size:3rem}.anim .qtexte{font-size:1.4rem}}
#qrcode:empty{display:none}

/* v1.3-v1.4 — terrain vu de dessus (plan World Rugby, Règle 1), poteaux en H en perspective, arbitre BD */
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:url("terrain-v.svg") center/contain no-repeat}
body::after{content:"";position:fixed;right:-2vh;bottom:0;width:32vh;height:50vh;z-index:-1;pointer-events:none;opacity:.32;background:url("arbitre.svg") right bottom/contain no-repeat}
@media (orientation:landscape){body::before{background-image:url("terrain-h.svg")}body::after{right:2vw;height:66vh;width:42vh;opacity:.4}}

/* v1.6 — podium des 3 premiers */
.podium3-bloc{position:relative;overflow:hidden}
.podium3{display:flex;justify-content:center;align-items:flex-end;gap:10px;margin:10px 0 4px;min-height:260px}
.marche{flex:1;max-width:190px;display:flex;flex-direction:column;align-items:center;animation:monte .8s cubic-bezier(.2,.9,.3,1.3) both}
.marche.m1{animation-delay:.9s}.marche.m2{animation-delay:.45s}.marche.m3{animation-delay:0s}
.marche.vide{visibility:hidden}
.marche .joueur{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:8px;gap:2px;max-width:100%}
.marche .joueur b{font-size:1.05rem;word-break:break-word}
.marche .joueur small{color:var(--craie2);font-size:.8rem}
.marche .pts{background:rgba(0,0,0,.35);padding:2px 10px;border-radius:99px;font-weight:700;font-size:.9rem}
.marche .medaille{font-size:1.8rem;line-height:1}
.marche .avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-family:var(--titre);font-size:1.7rem;font-weight:800;color:#1b1404;background:var(--craie);border:3px solid #fff;box-shadow:var(--ombre)}
.marche .socle{width:100%;border-radius:10px 10px 0 0;display:flex;justify-content:center;padding-top:8px;font-family:var(--titre);font-weight:800;font-size:2.4rem;color:rgba(0,0,0,.45);box-shadow:inset 0 6px 0 rgba(255,255,255,.35)}
.marche.m1 .socle{height:130px;background:linear-gradient(#ffd866,#e0a100)}
.marche.m2 .socle{height:95px;background:linear-gradient(#eef1f4,#a9b3bc)}
.marche.m3 .socle{height:70px;background:linear-gradient(#f0b27a,#b8732f)}
.marche.m1 .avatar{background:#ffd866;width:66px;height:66px}
@keyframes monte{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
.confettis{position:absolute;inset:0;pointer-events:none}
.confettis i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;opacity:.9;animation:tombe linear 2 both}
@keyframes tombe{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(420px) rotate(540deg);opacity:0}}
.card.grand .podium3{min-height:360px}.card.grand .marche{max-width:260px}
.card.grand .marche.m1 .socle{height:180px}.card.grand .marche.m2 .socle{height:130px}.card.grand .marche.m3 .socle{height:95px}
.card.grand .marche .joueur b{font-size:1.5rem}
@media (prefers-reduced-motion:reduce){.marche,.confettis i{animation:none}.confettis{display:none}}
.marche .exaequo{color:var(--or);font-weight:700;text-transform:uppercase;letter-spacing:.05em}

/* ===== v2.0 — Tuto, fiches mémo, espace formation ===== */
.home-liens{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.home-liens .btn{flex-direction:column;padding:14px}
.home-liens small{display:block;text-transform:none;font-weight:400;font-size:.78rem;opacity:.85}
.regles{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--craie);border-color:var(--or)}
.regles .ico{font-size:2rem}.regles .fl{margin-left:auto;font-size:1.4rem;color:var(--or)}
.sommaire{justify-content:center}.sommaire .chip span{font-size:.85rem}
.etapes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.etapes>div{background:rgba(0,0,0,.22);border-radius:10px;padding:10px 12px}
.etapes p{margin:.3em 0 0;font-size:.9rem}
.grille-themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.grille-themes a{display:flex;justify-content:space-between;gap:6px;align-items:center;background:rgba(0,0,0,.22);border-radius:10px;padding:10px;color:var(--craie);text-decoration:none;font-size:.9rem}
.grille-themes small{color:var(--or);white-space:nowrap}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.cat{border-radius:12px;padding:10px 14px;background:rgba(0,0,0,.25);border-top:5px solid var(--or)}
.cat h3{font-size:2rem;margin:0}.cat p{margin:.2em 0 .5em}.cat small{color:var(--craie2)}
.cat.cA{border-color:var(--a)}.cat.cB{border-color:var(--b)}.cat.cC1{border-color:var(--c)}.cat.cC{border-color:var(--d)}.cat.cD{border-color:#8a5cc7}.cat.cE{border-color:var(--vert)}
.tuto section{scroll-margin-top:10px}
.feuille h1{font-family:var(--titre);color:var(--pelouse2)}
.memo{padding-left:22px}.memo li{margin:0 0 12px;break-inside:avoid}
.memo .e{font-size:.88rem;color:#4b6358;margin-top:2px}
.card.clair .muted{color:#4b6358}
@media print{
  body{background:#fff!important;color:#000}body::before,body::after{display:none!important}
  .noprint,.credit{display:none!important}.wrap{max-width:none;padding:0}
  .feuille{box-shadow:none;border:none;padding:0}.memo{columns:2;column-gap:24px;font-size:10pt}
}
/* Espace formation */
.onglets{display:flex;gap:6px;overflow-x:auto;margin:12px 0;padding-bottom:4px}
.onglets button{flex:0 0 auto;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.25);color:var(--craie);border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}
.onglets button.on{background:var(--or);color:#1b1404;border-color:var(--or)}
.ajout textarea{width:100%;min-height:70px;border-radius:10px;border:none;padding:10px;font:inherit}
.ajout .ligne{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.ajout select{padding:8px;border-radius:8px;font:inherit}
.couleurs{display:flex;gap:6px}.couleurs input{position:absolute;opacity:0}
.couleurs input:checked+.pastille{outline:3px solid #fff;outline-offset:1px}
.pastille{display:inline-block;width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,.3);cursor:pointer;padding:0}
.pi-jaune{background:#ffe680}.pi-rose{background:#ffb3c8}.pi-bleu{background:#a9d4ff}.pi-vert{background:#b5ecb0}.pi-orange{background:#ffc98a}.pi-violet{background:#d6c2ff}
.mur-outils{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0 10px}
.mur{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;align-items:start}
.colonne{background:rgba(0,0,0,.22);border:2px dashed rgba(255,255,255,.15);border-radius:14px;padding:8px;min-height:160px}
.colonne.survol{border-color:var(--or);background:rgba(242,182,50,.12)}
.colonne h3{margin:2px 4px 8px;display:flex;justify-content:space-between}
.colonne h3 small{background:rgba(0,0,0,.3);border-radius:999px;padding:0 8px;font-size:.85rem}
.pile{display:grid;gap:10px}.vide{opacity:.5;text-align:center;font-size:.9rem}
.postit{color:#2a2410;border-radius:3px 3px 14px 3px;padding:10px 10px 6px;box-shadow:0 6px 12px rgba(0,0,0,.35);cursor:grab;position:relative;transform:rotate(-.6deg)}
.postit:nth-child(even){transform:rotate(.7deg)}
.postit.drag{opacity:.4}
.postit .txt{white-space:normal;word-wrap:break-word;font-size:.98rem;line-height:1.3}
.postit textarea{width:100%;min-height:70px;border:1px solid rgba(0,0,0,.2);border-radius:6px;font:inherit;background:rgba(255,255,255,.6)}
.postit footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:.8rem}
.postit .auteur{font-style:italic;opacity:.75}
.postit .vote{border:none;background:rgba(0,0,0,.08);border-radius:999px;padding:3px 9px;cursor:pointer;font-weight:700}
.postit .vote.on{background:#1b5e3f;color:#fff}
.postit .actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.postit .actions button{border:none;background:rgba(0,0,0,.07);border-radius:6px;padding:3px 7px;cursor:pointer}
.postit .actions select{font:inherit;font-size:.85rem}
.faq-item.repondu{border-left:4px solid var(--vert)}
.faq-item textarea{width:100%;min-height:70px}
.sondage{display:grid;gap:8px;margin:10px 0}
.opt{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:10px;border:2px solid rgba(255,255,255,.25);background:rgba(0,0,0,.25);color:var(--craie);border-radius:12px;padding:12px;font:inherit;text-align:left;cursor:pointer}
.opt[disabled]{cursor:default;opacity:1}
.opt .barre{position:absolute;inset:0 auto 0 0;background:rgba(242,182,50,.3);transition:width .5s}
.opt .lib,.opt .nb{position:relative}.opt .nb{white-space:nowrap;font-weight:700}
.opt.choisi{border-color:var(--or)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#111;color:#fff;padding:10px 16px;border-radius:10px;z-index:99;box-shadow:var(--ombre)}
/* ===== v2.2 — Accès solo, comptes joueurs, suivi des connexions ===== */
.cols2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start}
.choix-acces{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:10px}
.choix-acces label{display:block;border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:12px 14px;cursor:pointer;background:rgba(0,0,0,.2)}
.choix-acces label:has(input:checked),.choix-acces label.on{border-color:var(--or);background:rgba(242,182,50,.12)}
.choix-acces input{margin-right:6px}.choix-acces small{display:block;margin-top:6px;color:var(--craie2)}
tr.inactif td{opacity:.55}
.actions-compte details summary{cursor:pointer;color:var(--or);font-weight:700}
.actions-compte details[open]{min-width:260px}
.actions-compte form{margin:6px 0;display:flex;flex-wrap:wrap;gap:6px}
.actions-compte input{padding:6px 8px;border-radius:8px;border:1px solid #9db3a7;font:inherit;min-width:0;flex:1}
.histo{display:flex;align-items:flex-end;gap:4px;height:130px;padding-top:6px}
.histo div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.histo i{display:block;width:100%;min-height:2px;background:var(--or);border-radius:4px 4px 0 0}
.histo small{font-size:.7rem;color:var(--craie2);margin-top:3px}
.lieu-l{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.9rem}
.filtres select,.filtres input{padding:8px;border-radius:8px;border:none;font:inherit}
.tab-scroll{overflow-x:auto}
.tab.cnx td{font-size:.88rem;vertical-align:top}
.badge.cnx-solo{background:#2fbf71;color:#062616}.badge.cnx-solo_login{background:#5aa9e6;color:#071c2c}
.badge.cnx-partie{background:var(--or);color:#1b1404}.badge.cnx-formation{background:#b18cf0;color:#1b0e33}
.badge.cnx-admin{background:#d9e4dc;color:#13261e}.badge.cnx-solo_echec,.badge.cnx-admin_echec{background:var(--rouge);color:#fff}
.compte-solo{margin:10px 0 -10px}
.tab .muted{color:#5b7066;opacity:1}
.cat h3 small.nbq{font-family:system-ui,sans-serif;font-size:.75rem;font-weight:600;color:var(--or);margin-left:6px;vertical-align:middle}
/* ===== v2.4 — Inscription des joueurs (solo protégé) ===== */
.onglets-auth{display:flex;gap:6px;margin-bottom:6px}
.onglets-auth a{flex:1;text-align:center;padding:10px;border-radius:10px;background:rgba(0,0,0,.25);color:var(--craie);text-decoration:none;font-weight:700}
.onglets-auth a.on{background:var(--or);color:#1b1404}
.form .consent{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:.88rem}
.form .consent input{width:auto;margin-top:3px}
.badge.inscrit{background:#5aa9e6;color:#071c2c}
.badge.cnx-solo_inscription{background:#1f3a93;color:#fff}
