/* Page Jeux — le salon et les Tables (04/10/2026). DA « Trait » : encre, aplats, ombre dure, coins en bulle ; chaque jeu garde sa couleur (--g). */
.jxs,.jxr{--g:#f5b400;font-family:var(--t-corps);color:var(--t-texte);width:100%;box-sizing:border-box}
.jxs{padding:clamp(14px,3vw,28px);max-width:1280px;margin:0 auto}
.jxr{padding:clamp(10px,2.4vw,22px);max-width:1280px;margin:0 auto}
.jxs[hidden],.jxr[hidden]{display:none}
#mv-empty[hidden]{display:none!important}
/* Trois vues (jeux-tables.js) : salon, ma salle, la partie du live. Les modules des jeux d'antenne posent leur display EN LIGNE : ces règles les
   masquent sans y toucher, et le salon / la salle sont à nous. */
body.jx-view-salon #mv-invitation-wrap{display:block!important}
body.jx-view-salon #uv-root:not(.jx-in-table),body.jx-view-salon #gpv-root:not(.jx-in-table),body.jx-view-salon #qev-root:not(.jx-in-table),body.jx-view-salon #mv-game:not(.jx-in-table),body.jx-view-salon #kv-mirror:not(.jx-in-table),body.jx-view-salon #dbv-root:not(.jx-in-table),body.jx-view-salon #kav-root:not(.jx-in-table),body.jx-view-salon #mrv-root:not(.jx-in-table),body.jx-view-salon #pkv-root:not(.jx-in-table),body.jx-view-salon #tpv-root:not(.jx-in-table){display:none!important}
body.jx-view-room #mv-invitation-wrap,body.jx-view-room #uv-root:not(.jx-in-table),body.jx-view-room #gpv-root:not(.jx-in-table),body.jx-view-room #qev-root:not(.jx-in-table),body.jx-view-room #mv-game:not(.jx-in-table),body.jx-view-room #kv-mirror:not(.jx-in-table),body.jx-view-room #dbv-root:not(.jx-in-table),body.jx-view-room #kav-root:not(.jx-in-table),body.jx-view-room #mrv-root:not(.jx-in-table),body.jx-view-room #pkv-root:not(.jx-in-table),body.jx-view-room #tpv-root:not(.jx-in-table){display:none!important}
body.jx-view-antenna #jxs-room,body.jx-view-antenna #mv-invitation-wrap{display:none!important}
.jx-dock{position:fixed;left:10px;bottom:calc(var(--mobile-nav-tot,0px) + 120px);z-index:9100;width:44px;min-height:44px;height:44px;padding:0;border-radius:50%;touch-action:none;cursor:grab}
.jx-dock:active{cursor:grabbing}
.jx-dock[hidden]{display:none}
.jx-ant{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;margin-bottom:16px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--g);color:#fff;box-shadow:4px 4px 0 var(--t-ombre-c)}
.jx-ant b{font:400 22px var(--t-titre)}.jx-ant span{font-weight:700;font-size:13.5px}
.jx-ant-live{padding:2px 9px;border-radius:99px;background:var(--t-encre);color:#fff;font:800 11px var(--t-corps)!important;letter-spacing:.1em;text-transform:uppercase}
.jx-ant .jxs-btn{margin-left:auto}

/* ---- boutons, pastilles */
.jxs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);font:400 18px/1 var(--t-titre);cursor:pointer;color:var(--t-texte);background:var(--t-carte);box-shadow:3px 3px 0 var(--t-ombre-c);transition:transform var(--t-dur) var(--t-ease),box-shadow var(--t-dur) var(--t-ease);white-space:nowrap}
.jxs-btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--t-ombre-c)}
.jxs-btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 0 var(--t-ombre-c)}
.jxs-btn-go{background:var(--accent);color:var(--accent-ink)}
.jxs-btn-danger{background:var(--t-rouge);color:#fff}
.jxs-btn:disabled{background:var(--t-fond-2);color:var(--t-texte-3);border-style:dashed;box-shadow:none;cursor:not-allowed}
.jxs-sm{min-height:36px;padding:0 12px;font-size:15px}
.jxs-icon{padding:0;width:44px}
.jxs-x{width:34px;height:34px;display:grid;place-items:center;border:var(--t-trait-fin) solid var(--t-bord);border-radius:50%;background:var(--t-carte);color:var(--t-texte);cursor:pointer;flex:none}
.jxs-x:hover{background:var(--t-rouge);color:#fff}
.jxs-btn:focus-visible,.jxs-x:focus-visible,.jxs-game:focus-visible,.jxs-pick:focus-visible,.jxs-tab:focus-visible{outline:3px solid var(--t-texte);outline-offset:2px}
.jxs-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border:var(--t-trait-fin) solid var(--t-bord);border-radius:99px;background:var(--t-fond-2);font:800 11.5px var(--t-corps);letter-spacing:.02em}
.jxs-av{width:34px;height:34px;border-radius:50%;border:var(--t-trait-fin) solid var(--t-bord);object-fit:cover;flex:none;background:var(--t-fond-2);display:block}
.jxs-av-i{display:grid;place-items:center;font:400 16px var(--t-titre);background:var(--accent);color:var(--accent-ink)}

/* ---- salon : en-tête */
.jxs-head{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.jxs-head h2{margin:0;font:400 clamp(30px,5vw,44px)/1 var(--t-titre)}
.jxs-head p{margin:6px 0 0;font-weight:600;color:var(--t-texte-2);max-width:56ch}
.jxs-head-act{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.jxs-code{display:flex;gap:8px}
.jxs-code input{width:116px;min-height:44px;padding:0 12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte);color:var(--t-texte);font:400 20px var(--t-titre);letter-spacing:.18em;text-align:center;text-transform:uppercase}
.jxs-code input::placeholder{letter-spacing:.1em;opacity:.45}
.jxs-tabs{display:none;gap:8px;margin-bottom:14px}
.jxs-tab{flex:1;min-height:42px;border:var(--t-trait) solid var(--t-bord);border-radius:99px;background:var(--t-carte);color:var(--t-texte);font:400 17px var(--t-titre);cursor:pointer;position:relative}
.jxs-tab.is-on{background:var(--accent);color:var(--accent-ink);box-shadow:3px 3px 0 var(--t-ombre-c)}
.jxs-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}
.jxs-main{display:flex;flex-direction:column;gap:22px;min-width:0}
.jxs-side{position:sticky;top:calc(var(--header-h,64px) + 14px);display:flex;flex-direction:column;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte);box-shadow:5px 5px 0 var(--t-ombre-c);overflow:hidden;height:calc(100dvh - var(--header-h,64px) - 130px);min-height:380px;max-height:760px}
.jxs-side-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:var(--t-trait) solid var(--t-bord);background:var(--t-carte-2);font:400 17px var(--t-titre)}
.jxs-chat-slot{flex:1;min-height:0;position:relative}
.chat-box[data-mode="jeux"]{position:fixed;z-index:30;overflow:hidden}
@media (max-width:900px){
  .jxs-tabs{display:flex}
  .jxs-grid{grid-template-columns:1fr}
  .jxs-side{position:relative;top:auto;height:calc(100dvh - var(--header-h,64px) - var(--mobile-nav-tot,70px) - 120px);min-height:340px;display:none}
  .jxs.is-tab-chat .jxs-side{display:flex}
  .jxs.is-tab-chat .jxs-main{display:none}
}

/* ---- sections */
.jxs-sec{display:flex;flex-direction:column;gap:12px}
.jxs-sec-h{display:flex;align-items:center;gap:10px}
.jxs-sec h3{margin:0;font:400 24px/1 var(--t-titre)}
.jxs-count{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border:var(--t-trait-fin) solid var(--t-bord);border-radius:99px;background:var(--accent);color:var(--accent-ink);font:400 15px var(--t-titre)}
.jxs-empty{display:flex;flex-direction:column;gap:4px;padding:26px 18px;border:var(--t-trait) dashed var(--t-bord);border-radius:var(--t-r);background:var(--t-carte);text-align:center}
.jxs-empty b{font:400 20px var(--t-titre)}.jxs-empty span{font-weight:600;color:var(--t-texte-2)}
.jxs-note{margin:0;font-size:13px;font-weight:600;color:var(--t-texte-3)}
.jxs-tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.jxs-table{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte);box-shadow:4px 4px 0 var(--t-ombre-c);border-left:8px solid var(--g)}
.jxs-table-ico{width:50px;height:50px;display:grid;place-items:center;border:var(--t-trait-fin) solid var(--t-bord);border-radius:12px;background:var(--g);color:#fff}
.jxs-table-ico svg{width:28px;height:28px}
.jxs-table-b{min-width:0;display:flex;flex-direction:column;gap:3px}
.jxs-table-top{display:flex;align-items:center;gap:8px;min-width:0}.jxs-table-top b{font:400 19px/1.1 var(--t-titre);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jxs-table-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-weight:700;font-size:12.5px;color:var(--t-texte-2)}
.jxs-table-meta span{display:inline-flex;align-items:center;gap:4px}
.jxs-table-chief{font-size:12px;font-weight:600;color:var(--t-texte-3)}
.jxs-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:#aaa;display:inline-block}
.jxs-dot.is-wait::before{background:var(--t-vert)}.jxs-dot.is-play::before{background:var(--t-aura)}
.jxs-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.jxs-game{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ico t" "n n";gap:6px 12px;padding:14px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte);color:var(--t-texte);text-align:left;cursor:pointer;box-shadow:4px 4px 0 var(--t-ombre-c);transition:transform var(--t-dur) var(--t-ease),box-shadow var(--t-dur) var(--t-ease)}
.jxs-game:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--t-ombre-c)}
.jxs-game.is-off{opacity:.55;border-style:dashed;box-shadow:none;cursor:not-allowed}
.jxs-game-ico{grid-area:ico;width:56px;height:56px;display:grid;place-items:center;border:var(--t-trait-fin) solid var(--t-bord);border-radius:14px;background:var(--g);color:#fff}
.jxs-game-t{grid-area:t;display:flex;flex-direction:column;gap:2px;min-width:0}.jxs-game-t b{font:400 22px/1.05 var(--t-titre)}.jxs-game-t i{font-style:normal;font-weight:600;font-size:13px;color:var(--t-texte-2)}
.jxs-game-n{grid-area:n;font:800 12px var(--t-corps);letter-spacing:.05em;text-transform:uppercase;color:var(--t-texte-3)}
.jxs-invites{display:flex;flex-direction:column;gap:10px}
.jxs-inv{display:flex;align-items:center;gap:12px;padding:10px 12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte-2);border-left:8px solid var(--g);box-shadow:3px 3px 0 var(--t-ombre-c)}
.jxs-inv-t{flex:1;min-width:0;display:flex;flex-direction:column;font-weight:700;font-size:14px}.jxs-inv-t i{font-style:normal;font-weight:600;color:var(--t-texte-2)}

/* ---- fenêtres (créer, réglages, inviter) */
.modal-card:has(.jxs-modal){max-width:min(560px,calc(100vw - 20px));width:100%;padding:0;overflow:hidden}
.modal-card:has(.jxs-modal) .modal-close{display:none}
.jxs-modal{display:flex;flex-direction:column;font-family:var(--t-corps);color:var(--t-texte);max-height:min(92dvh,760px)}
.jxs-modal-h{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:var(--t-trait) solid var(--t-bord);background:var(--t-carte-2)}
.jxs-modal-h h3{margin:0;font:400 26px/1 var(--t-titre)}
.jxs-modal-b{padding:14px 18px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.jxs-modal-f{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:var(--t-trait) solid var(--t-bord);background:var(--t-carte)}
.jxs-lbl{font:400 15px var(--t-titre);letter-spacing:.05em;text-transform:uppercase;color:var(--t-texte-2);margin-top:6px}.jxs-lbl small{text-transform:none;letter-spacing:0;font:600 12px var(--t-corps);opacity:.8}
.jxs-in{min-height:44px;padding:0 12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte);color:var(--t-texte);font:700 16px var(--t-corps)}
.jxs-hint{margin:2px 0 0;font-size:13px;font-weight:600;color:var(--t-texte-2)}
.jxs-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.jxs-pick{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte);color:var(--t-texte);cursor:pointer;font:400 15px var(--t-titre)}
.jxs-pick svg{width:28px;height:28px;padding:8px;box-sizing:content-box;border-radius:12px;background:var(--g);color:#fff;border:var(--t-trait-fin) solid var(--t-bord)}
.jxs-pick.is-on{background:var(--accent);color:var(--accent-ink);box-shadow:3px 3px 0 var(--t-ombre-c)}
.jxs-seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.jxs-seg button{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"i t" "i s";gap:0 8px;align-items:center;padding:8px 10px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte);color:var(--t-texte);cursor:pointer;text-align:left}
.jxs-seg button svg{grid-area:i}.jxs-seg button span{grid-area:t;font:400 16px var(--t-titre)}.jxs-seg button i{grid-area:s;font-style:normal;font-weight:600;font-size:11.5px;color:var(--t-texte-2)}
.jxs-seg button.is-on{background:var(--accent);color:var(--accent-ink);box-shadow:2px 2px 0 var(--t-ombre-c)}.jxs-seg button.is-on i{color:inherit;opacity:.8}
.jxs-range{-webkit-appearance:none;appearance:none;width:100%;height:12px;border:var(--t-trait-fin) solid var(--t-bord);border-radius:99px;background:var(--t-carte);outline:none;cursor:pointer}
.jxs-range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--accent);border:var(--t-trait) solid var(--t-bord);box-shadow:2px 2px 0 var(--t-ombre-c)}
.jxs-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);border:var(--t-trait) solid var(--t-bord)}
.jxs-range:disabled{opacity:.45;cursor:not-allowed}
.jxs-link{display:flex;gap:8px;align-items:stretch}.jxs-link code{flex:1;min-width:0;padding:9px 11px;border:var(--t-trait) dashed var(--t-bord);border-radius:var(--t-r-s);background:var(--t-fond-2);font:600 12.5px/1.4 ui-monospace,Consolas,monospace;overflow-wrap:anywhere}
.jxs-codebig{font:400 24px var(--t-titre);letter-spacing:.2em;padding:0 6px}
.jxs-friends{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}
.jxs-friend{display:flex;align-items:center;gap:10px;padding:6px 8px;border:var(--t-trait-fin) solid var(--t-bord-doux);border-radius:var(--t-r-s);background:var(--t-fond-2)}
.jxs-friend b{flex:1;min-width:0;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---- la salle */
.jxr-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;margin-bottom:14px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte);box-shadow:4px 4px 0 var(--t-ombre-c);border-left:10px solid var(--g)}
.jxr-title{display:flex;align-items:center;gap:10px;flex:1 1 220px;min-width:0}
.jxr-ico{width:46px;height:46px;display:grid;place-items:center;border:var(--t-trait-fin) solid var(--t-bord);border-radius:12px;background:var(--g);color:#fff;flex:none}.jxr-ico svg{width:26px;height:26px}
.jxr-title b{display:block;font:400 22px/1.1 var(--t-titre);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jxr-title i{font-style:normal;font-weight:700;font-size:12.5px;color:var(--t-texte-2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.jxr-code{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.jxr-code>span{font:800 10.5px var(--t-corps);letter-spacing:.12em;text-transform:uppercase;color:var(--t-texte-3)}
.jxr-code button{display:inline-flex;align-items:center;gap:8px;padding:2px 10px;border:var(--t-trait) dashed var(--t-bord);border-radius:var(--t-r-s);background:var(--t-fond-2);color:var(--t-texte);cursor:pointer}.jxr-code b{font:400 22px var(--t-titre);letter-spacing:.18em}
.jxr-tabs{display:none;gap:8px;margin-bottom:12px}
.jxr-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:4px;border-radius:99px;background:var(--t-rouge);color:#fff;font:800 12px var(--t-corps)}.jxr-badge[hidden]{display:none}
.jxr-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.jxr-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.jxr-members{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte)}
.jxr-m{position:relative;display:inline-flex;align-items:center;gap:7px;padding:3px 10px 3px 3px;border:var(--t-trait-fin) solid var(--t-bord);border-radius:99px;background:var(--t-fond-2);font-weight:800;font-size:13px}
.jxr-m .jxs-av{width:30px;height:30px}.jxr-m.is-away{opacity:.55}.jxr-m.is-spec{border-style:dashed}
.jxr-m-n i{font-style:normal;font-weight:600;color:var(--t-texte-3)}
.jxr-crown{position:absolute;left:-4px;top:-9px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--t-jaune);color:var(--t-encre);border:var(--t-trait-fin) solid var(--t-bord)}
.jxr-crown svg{width:12px;height:12px}.jxr-eye{color:var(--t-texte-3);display:grid;place-items:center}
.jxr-m-menu{display:none;gap:4px;margin-left:2px}.jxr-m:hover .jxr-m-menu,.jxr-m:focus-within .jxr-m-menu{display:inline-flex}
.jxr-m-menu button{width:24px;height:24px;display:grid;place-items:center;border:var(--t-trait-fin) solid var(--t-bord);border-radius:50%;background:var(--t-carte);color:var(--t-texte);cursor:pointer;padding:0}.jxr-m-menu button:hover{background:var(--t-rouge);color:#fff}
.jxr-m-count{margin-left:auto;font-weight:800;font-size:12.5px;color:var(--t-texte-2)}
.jxr-chief[hidden]{display:none}
.jxc{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte-2);box-shadow:4px 4px 0 var(--t-ombre-c)}
.jxc-t{display:flex;flex-direction:column;gap:2px}.jxc-t b{font:400 20px var(--t-titre)}.jxc-t span{font-weight:600;font-size:13.5px;color:var(--t-texte-2)}
.jxc-cfg{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.jxc-cfg label{display:flex;flex-direction:column;gap:3px;font:800 11.5px var(--t-corps);color:var(--t-texte-2);text-transform:uppercase;letter-spacing:.05em}
.jxc-cfg select{min-height:38px;padding:0 8px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte);color:var(--t-texte);font:700 14px var(--t-corps)}
.jxc-act{display:flex;flex-wrap:wrap;gap:8px}
.jxr-game{min-width:0;position:relative}
.jxr-side{position:sticky;top:calc(var(--header-h,64px) + 14px);display:flex;flex-direction:column;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte);box-shadow:5px 5px 0 var(--t-ombre-c);overflow:hidden;height:calc(100dvh - var(--header-h,64px) - 130px);min-height:380px;max-height:760px}
.jxr-side-tabs{display:flex;border-bottom:var(--t-trait) solid var(--t-bord)}
.jxr-side-tabs button{flex:1;min-height:40px;border:0;background:var(--t-carte);color:var(--t-texte);font:400 16px var(--t-titre);cursor:pointer}
.jxr-side-tabs button+button{border-left:var(--t-trait) solid var(--t-bord)}
.jxr-side-tabs button.is-on{background:var(--accent);color:var(--accent-ink)}
.jxr-chat{display:flex;flex-direction:column;flex:1;min-height:0}.jxr-chat[hidden]{display:none}
.jxr-live{flex:1;min-height:0}.jxr-live[hidden]{display:none}
.jxr-msgs{flex:1;min-height:0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:2px;overscroll-behavior:contain}
.jxr-msg{position:relative;display:flex;gap:8px;align-items:flex-start;padding:3px 4px;border-radius:10px}
.jxr-msg:hover{background:var(--t-fond-2)}
.jxr-msg .jxs-av{width:28px;height:28px}.jxr-msg-gap{width:28px;flex:none}
.jxr-msg-b{display:flex;flex-direction:column;min-width:0;font-size:14px;line-height:1.3}.jxr-msg-b b{font-weight:900;font-size:12.5px}.jxr-msg-b span{overflow-wrap:anywhere;font-weight:600}
.jxr-msg.is-mine .jxr-msg-b b{color:var(--t-texte-2)}
.jxr-msg.is-cont{padding-top:0}
.jxr-msg-x{position:absolute;right:4px;top:2px;width:22px;height:22px;display:none;place-items:center;border:var(--t-trait-fin) solid var(--t-bord);border-radius:50%;background:var(--t-carte);color:var(--t-texte);cursor:pointer;padding:0}
.jxr-msg:hover .jxr-msg-x{display:grid}.jxr-msg-x:hover{background:var(--t-rouge);color:#fff}
.jxr-sys{align-self:center;margin:4px 0;padding:2px 10px;border-radius:99px;background:var(--t-fond-2);font:700 12px var(--t-corps);color:var(--t-texte-2);text-align:center}
.jxr-form{display:flex;gap:8px;padding:8px;border-top:var(--t-trait) solid var(--t-bord);background:var(--t-carte-2)}
.jxr-form input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte);color:var(--t-texte);font:700 15px var(--t-corps)}
@media (max-width:900px){
  .jxr-tabs{display:flex}
  .jxr-grid{grid-template-columns:1fr}
  .jxr-side{position:relative;top:auto;height:calc(100dvh - var(--header-h,64px) - var(--mobile-nav-tot,70px) - 210px);min-height:320px;display:none}
  .jxr.is-tab-chat .jxr-side{display:flex}.jxr.is-tab-chat .jxr-main{display:none}
  .jxr-code{order:3}
}

/* ---- Duel sur grille en table : Puissance 4 et Morpion (04/10/2026). Encre, aplats, ombre dure ; deux couleurs de pions franches (rouge / jaune), jamais de lueur. */
.dgv{--p1:var(--t-rouge);--p2:var(--t-jaune);display:flex;flex-direction:column;gap:12px;max-width:470px;margin:0 auto;padding:6px 0 18px;font-family:var(--t-corps);color:var(--t-texte)}
.dgv-v-ttt{--p1:var(--t-rouge);--p2:var(--t-bleu)}
.dgv-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dgv-name{font:400 22px/1 var(--t-titre)}
.dgv-timer{display:grid;place-items:center;min-width:46px;height:46px;padding:0 8px;border:var(--t-trait) solid var(--t-bord);border-radius:99px;background:var(--t-carte);font:400 22px/1 var(--t-titre);font-variant-numeric:tabular-nums}
.dgv-timer.t-warn{background:var(--t-jaune);color:var(--t-encre)}
.dgv-timer.t-danger{background:var(--t-rouge);color:#fff}
.dgv-timer.is-off{color:var(--t-texte-3);border-style:dashed}
.dgv-seats{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch}
.dgv-vs{align-self:center;font:400 16px var(--t-titre);color:var(--t-texte-3)}
.dgv-seat{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte);transition:transform .12s,box-shadow .12s}
.dgv-seat.is-turn{background:var(--t-fond-2);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--t-ombre-c)}
.dgv-s1.is-turn{border-color:var(--p1)}.dgv-s2.is-turn{border-color:var(--p2)}
.dgv-seat.is-won{background:var(--accent);color:var(--accent-ink)}
.dgv-seat.is-won .dgv-who small,.dgv-seat.is-won .dgv-who span{color:inherit}
.dgv-av{width:38px;height:38px;border-radius:50%;border:var(--t-trait-fin) solid var(--t-bord);object-fit:cover;flex:none;display:grid;place-items:center;background:var(--t-fond-2)}
.dgv-av-i{font:400 17px var(--t-titre)}
.dgv-who{display:flex;flex-direction:column;min-width:0;flex:1}
.dgv-who b{font:800 14px/1.2 var(--t-corps);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dgv-who small{font-weight:700;color:var(--t-texte-2)}
.dgv-who em{font-style:normal;color:var(--t-texte-3)}
.dgv-who span{display:flex;align-items:center;gap:6px;font-weight:700;font-size:11.5px;color:var(--t-texte-2)}
.dgv-pip{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--t-bord)}
.dgv-pip.dgv-p1{background:var(--p1)}.dgv-pip.dgv-p2{background:var(--p2)}
.dgv-score{font:400 26px/1 var(--t-titre);font-variant-numeric:tabular-nums}
.dgv-status{margin:0;text-align:center;font:400 20px/1.2 var(--t-titre);min-height:1.3em}
.dgv-status.is-mine{color:var(--accent-ink);background:var(--accent);border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);padding:6px 10px;box-shadow:3px 3px 0 var(--t-ombre-c)}

/* le plateau */
.dgv-board{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:0;width:100%;margin:0 auto;box-sizing:border-box}
.dgv-c4{padding:10px;gap:7px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-bleu);box-shadow:5px 5px 0 var(--t-ombre-c);aspect-ratio:7/6.2}
.dgv-cell{position:relative;display:grid;place-items:center;min-width:0;padding:0;margin:0;border:0;background:transparent;color:var(--t-texte);cursor:default;font:inherit;-webkit-tap-highlight-color:transparent}
.dgv-c4 .dgv-cell{aspect-ratio:1}
.dgv-c4 .dgv-cell i{display:block;width:100%;height:100%;border-radius:50%;border:var(--t-trait-fin) solid var(--t-bord);background:var(--t-fond)}
.dgv-c4 .dgv-cell.dgv-p1 i{background:var(--p1)}
.dgv-c4 .dgv-cell.dgv-p2 i{background:var(--p2)}
.dgv-c4 .dgv-cell.is-last i{box-shadow:0 0 0 3px var(--t-fond),0 0 0 6px var(--t-bord)}
.dgv-c4 .dgv-cell.is-win i{animation:dgvwin .7s ease-in-out infinite alternate;border-width:4px}
.dgv-c4 .dgv-cell.is-playable{cursor:pointer}
.dgv-board.dgv-c4[data-hover="0"] .dgv-cell[data-col="0"]:not(.dgv-p1):not(.dgv-p2) i,
.dgv-board.dgv-c4[data-hover="1"] .dgv-cell[data-col="1"]:not(.dgv-p1):not(.dgv-p2) i,
.dgv-board.dgv-c4[data-hover="2"] .dgv-cell[data-col="2"]:not(.dgv-p1):not(.dgv-p2) i,
.dgv-board.dgv-c4[data-hover="3"] .dgv-cell[data-col="3"]:not(.dgv-p1):not(.dgv-p2) i,
.dgv-board.dgv-c4[data-hover="4"] .dgv-cell[data-col="4"]:not(.dgv-p1):not(.dgv-p2) i,
.dgv-board.dgv-c4[data-hover="5"] .dgv-cell[data-col="5"]:not(.dgv-p1):not(.dgv-p2) i,
.dgv-board.dgv-c4[data-hover="6"] .dgv-cell[data-col="6"]:not(.dgv-p1):not(.dgv-p2) i{background:var(--t-fond-2)}
.dgv-board.is-mine.dgv-c4 .dgv-cell.is-playable:focus-visible i{outline:3px solid var(--t-texte);outline-offset:2px}
@keyframes dgvwin{from{transform:scale(1)}to{transform:scale(.82)}}

.dgv-ttt{width:min(100%,360px);gap:0;border:0;aspect-ratio:1;background:transparent}
.dgv-ttt .dgv-cell{aspect-ratio:1;border:var(--t-trait) solid var(--t-bord);margin:-1.5px;background:var(--t-carte)}
.dgv-ttt .dgv-cell.is-playable{cursor:pointer}
.dgv-ttt .dgv-cell.is-playable:hover{background:var(--t-fond-2)}
.dgv-ttt .dgv-cell.dgv-p1{color:var(--p1)}.dgv-ttt .dgv-cell.dgv-p2{color:var(--p2)}
.dgv-ttt .dgv-cell.is-last{background:var(--t-fond-2)}
.dgv-ttt .dgv-cell.is-win{background:var(--accent)}
.dgv-ttt .dgv-cell.is-win .dgv-mark{animation:dgvwin .7s ease-in-out infinite alternate}
.dgv-mark{width:62%;height:62%;display:block}
.dgv-ttt .dgv-cell:focus-visible{outline:3px solid var(--t-texte);outline-offset:-3px;z-index:1}
.dgv-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;min-height:0}
.dgv-actions:empty{display:none}
@media (max-width:520px){
  .dgv{gap:8px}
  .dgv-seats{gap:6px}.dgv-vs{font-size:13px}
  .dgv-seat{padding:6px 8px;gap:7px}
  .dgv-av{width:30px;height:30px}
  .dgv-who span{display:none}
  .dgv-score{font-size:22px}
  .dgv-name{font-size:19px}.dgv-timer{min-width:40px;height:40px;font-size:19px}
  .dgv-status{font-size:17px}
  .dgv-c4{padding:7px;gap:5px}
}
@media (prefers-reduced-motion:reduce){.dgv-c4 .dgv-cell.is-win i,.dgv-ttt .dgv-cell.is-win .dgv-mark,.dgv-seat{animation:none;transition:none}}

/* ---- bascule GM <-> vue joueur (04/10/2026) */
.jx-staff-bar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 14px;background:var(--accent);color:var(--accent-ink);border-bottom:var(--t-trait) solid var(--t-bord);font:400 16px/1 var(--t-titre)}
.jx-staff-bar .jxs-btn{background:var(--t-carte);color:var(--t-texte)}
.jx-staff-btn{margin-top:10px}

/* ---- Jeux à manches en table : Kahoot, Tu préfères, Gartic Show (04/10/2026). Encre, aplats, ombre dure ; une couleur par option, jamais de lueur. */
.pgv{display:flex;flex-direction:column;gap:12px;max-width:760px;margin:0 auto;padding:6px 0 18px;font-family:var(--t-corps);color:var(--t-texte)}
.pgv-top{display:flex;align-items:center;gap:12px}
.pgv-name{font:400 22px/1 var(--t-titre)}.pgv-round{flex:1;font-weight:800;font-size:13px;color:var(--t-texte-2);text-transform:uppercase;letter-spacing:.05em}
.pgv-timer{display:grid;place-items:center;min-width:46px;height:46px;padding:0 8px;border:var(--t-trait) solid var(--t-bord);border-radius:99px;background:var(--t-carte);font:400 22px/1 var(--t-titre);font-variant-numeric:tabular-nums}
.pgv-timer.t-warn{background:var(--t-jaune);color:var(--t-encre)}.pgv-timer.t-danger{background:var(--t-rouge);color:#fff}.pgv-timer.t-rv{background:var(--t-fond-2);color:var(--t-texte-2)}.pgv-timer.is-off{color:var(--t-texte-3);border-style:dashed}
.pgv-bar{height:10px;border:var(--t-trait-fin) solid var(--t-bord);border-radius:99px;background:var(--t-carte);overflow:hidden}
.pgv-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .25s linear}.pgv-bar i.is-rv{background:var(--t-texte-3)}
.pgv-av{width:30px;height:30px;border-radius:50%;border:var(--t-trait-fin) solid var(--t-bord);object-fit:cover;flex:none;display:grid;place-items:center;background:var(--t-fond-2)}
.pgv-av-i{font:400 14px var(--t-titre)}.pgv-av-l{width:54px;height:54px}
.pgv-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pgv-actions:empty{display:none}
.pgv-lobby{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;padding:18px 12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte)}
.pgv-rule{margin:0;font-weight:700;max-width:46ch}.pgv-note{margin:0;font-size:13px;color:var(--t-texte-2);font-weight:600}
.pgv-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pgv-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border:var(--t-trait-fin) solid var(--t-bord);border-radius:99px;background:var(--t-fond-2);font-weight:800;font-size:13px}
.pgv-info{margin:0;text-align:center;font:400 18px/1.2 var(--t-titre);min-height:1.3em}
.pgv-detail{margin:0;text-align:center;font-weight:600;color:var(--t-texte-2);font-size:14px}
/* classement */
.pgv-board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.pgv-board li{display:flex;align-items:center;gap:8px;padding:5px 10px;border:var(--t-trait-fin) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte)}
.pgv-board li.is-me{background:var(--t-fond-2);border-width:var(--t-trait)}.pgv-board li.is-done{border-color:var(--t-vert)}
.pgv-rk{width:20px;font:400 16px var(--t-titre);color:var(--t-texte-2);text-align:center}.pgv-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;font-size:14px}
.pgv-d{font:400 15px var(--t-titre);color:var(--t-vert)}.pgv-sc{font:400 19px var(--t-titre);font-variant-numeric:tabular-nums}
/* Kahoot */
.pgv-q{padding:16px 14px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:var(--t-carte);box-shadow:4px 4px 0 var(--t-ombre-c);text-align:center}
.pgv-qt{margin:0;font:400 clamp(20px,3.4vw,28px)/1.2 var(--t-titre);text-wrap:balance}.pgv-meta{margin:6px 0 0;font-weight:800;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--t-texte-3)}
.pgv-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pgv-opt{position:relative;display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);color:#fff;font:700 clamp(14px,2.4vw,17px)/1.2 var(--t-corps);text-align:left;cursor:pointer;box-shadow:3px 3px 0 var(--t-ombre-c);transition:transform .1s,box-shadow .1s,opacity .15s}
.pgv-opt:disabled{cursor:default}.pgv-opt:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--t-ombre-c)}.pgv-opt:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 0 var(--t-ombre-c)}
.pgv-c0{background:var(--t-rouge)}.pgv-c1{background:var(--t-bleu)}.pgv-c2{background:#d99a00;color:var(--t-encre)}.pgv-c3{background:var(--t-vert)}
.pgv-sh{font:400 24px/1 var(--t-titre);flex:none;width:30px;text-align:center}.pgv-ot{flex:1;min-width:0}.pgv-cnt{font:400 22px var(--t-titre);font-style:normal}
.pgv-opt.is-mine{outline:4px solid var(--t-texte);outline-offset:2px}
.pgv-s-reveal .pgv-opt.is-wrong{opacity:.38;box-shadow:none}.pgv-s-reveal .pgv-opt.is-right{outline:4px solid var(--t-vert);outline-offset:2px;box-shadow:5px 5px 0 var(--t-ombre-c)}
.pgv-s-play .pgv-opt:disabled:not(.is-mine){opacity:.55}
/* Tu préfères */
.pgv-qd{text-align:center;font-size:clamp(22px,4vw,32px)}
.pgv-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pgv-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:170px;padding:16px 12px 26px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);color:#fff;text-align:center;cursor:pointer;box-shadow:4px 4px 0 var(--t-ombre-c);overflow:hidden;transition:transform .1s,box-shadow .1s,opacity .15s}
.pgv-card:disabled{cursor:default}.pgv-card:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--t-ombre-c)}
.pgv-d0{background:var(--t-bleu)}.pgv-d1{background:var(--t-rouge)}
.pgv-l{font:400 30px/1 var(--t-titre);opacity:.85}.pgv-ct{font:700 clamp(15px,2.6vw,19px)/1.25 var(--t-corps);text-wrap:balance}
.pgv-pct{font:400 22px var(--t-titre);font-style:normal;min-height:1em}
.pgv-bar2{position:absolute;left:0;right:0;bottom:0;height:10px;background:rgba(0,0,0,.25)}.pgv-bar2 u{display:block;height:100%;width:0;background:#fff;transition:width .5s}
.pgv-card.is-mine{outline:4px solid var(--t-texte);outline-offset:2px}.pgv-s-play .pgv-card:disabled:not(.is-mine){opacity:.55}
.pgv-s-reveal .pgv-card:not(.is-maj){opacity:.55}.pgv-s-reveal .pgv-card.is-maj{outline:4px solid var(--t-vert);outline-offset:2px}
/* Gartic Show */
.pgv-wordline{text-align:center;font:400 20px/1.2 var(--t-titre);min-height:1.3em}.pgv-wordline b{font-weight:400}
.pgv-theword{display:inline-block;padding:2px 12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--accent);color:var(--accent-ink)}
.pgv-hint{letter-spacing:.18em;font-size:24px}
.pgv-sheetwrap{width:100%;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r);background:#fff;box-shadow:4px 4px 0 var(--t-ombre-c);overflow:hidden;line-height:0}
.pgv-sheet{display:block;width:100%;aspect-ratio:4/3;touch-action:none;cursor:crosshair;background:#fff}
.pgv-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}.pgv-tools[hidden],.pgv-guess[hidden]{display:none}
.pgv-col{width:34px;height:34px;border:var(--t-trait) solid var(--t-bord);border-radius:50%;background:var(--c,#fff);cursor:pointer;font:400 16px var(--t-titre);color:var(--t-encre)}
.pgv-col.is-on{outline:3px solid var(--t-texte);outline-offset:2px}.pgv-eraser{background:var(--t-fond-2);color:var(--t-texte)}
.pgv-sep{width:2px;height:24px;background:var(--t-bord);opacity:.35;margin:0 4px}
.pgv-size{width:34px;height:34px;display:grid;place-items:center;border:var(--t-trait-fin) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte);cursor:pointer}
.pgv-size i{display:block;width:var(--s);height:var(--s);border-radius:50%;background:var(--t-texte)}.pgv-size.is-on{background:var(--accent)}.pgv-size.is-on i{background:var(--accent-ink)}
.pgv-guess{display:flex;gap:8px}.pgv-guess input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte);color:var(--t-texte);font:700 16px var(--t-corps)}
.pgv-guess input:disabled{background:var(--t-fond-2);color:var(--t-vert)}
.pgv-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;max-height:150px;overflow-y:auto;font-size:14px}
.pgv-feed li{padding:3px 10px;border-radius:99px;background:var(--t-fond-2);width:fit-content;max-width:100%}.pgv-feed li.is-hit{background:var(--t-vert);color:#fff;font-weight:800}
/* fin de partie */
.pgv-end{display:flex;flex-direction:column;gap:12px}.pgv-end h3{margin:0;text-align:center;font:400 26px var(--t-titre)}
.pgv-podium{display:flex;align-items:flex-end;justify-content:center;gap:10px}
.pgv-pod{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:96px;padding:10px 8px 8px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r) var(--t-r) 0 0;background:var(--t-carte)}
.pgv-pod b{font-size:13px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pgv-pod span{font:400 15px var(--t-titre)}.pgv-pod i{font:400 26px var(--t-titre);font-style:normal;color:var(--t-texte-3)}
.pgv-pod-1{min-height:150px;background:var(--accent);color:var(--accent-ink)}.pgv-pod-1 i{color:inherit}.pgv-pod-2{min-height:122px}.pgv-pod-3{min-height:100px}.pgv-pod.is-me{outline:3px solid var(--t-texte);outline-offset:2px}
.pgv-award{margin:0;text-align:center;font-size:14px;font-weight:600;color:var(--t-texte-2)}
@media (max-width:560px){
  .pgv-opts{gap:8px}.pgv-opt{min-height:56px;padding:6px 9px}.pgv-sh{width:22px;font-size:20px}
  .pgv-duo{gap:8px}.pgv-card{min-height:140px;padding:12px 8px 22px}
  .pgv-pod{min-width:78px}
}
@media (prefers-reduced-motion:reduce){.pgv-bar i,.pgv-bar2 u,.pgv-opt,.pgv-card{transition:none}}

/* ---- champ texte du panneau du chef (lien de vidéo) */
.jxc-cfg label.jxc-wide{grid-column:1/-1}
.jxc-cfg input[type=url],.jxc-cfg input[type=text]{min-height:38px;padding:0 10px;border:var(--t-trait) solid var(--t-bord);border-radius:var(--t-r-s);background:var(--t-carte);color:var(--t-texte);font:700 14px var(--t-corps);min-width:0;width:100%;box-sizing:border-box}

/* ---- téléphone, partie en cours : l'écran appartient au jeu (en-tête et panneau du chef compactés, liste des membres masquée : le jeu a son classement) */
@media (max-width:900px){
  .jxr.is-playing .jxr-head{padding:6px 10px;margin-bottom:8px;gap:6px 10px}
  .jxr.is-playing .jxr-code,.jxr.is-playing #jxrInvite,.jxr.is-playing #jxrSet{display:none}
  .jxr.is-playing .jxr-title .jxr-ico{display:none}
  .jxr.is-playing .jxr-members{display:none}
  .jxr.is-playing .jxr-tabs{margin-bottom:8px}
  .jxr.is-playing .jxr-chief .jxc{padding:8px 10px;gap:6px}
  .jxr.is-playing .jxr-chief .jxc-t span,.jxr.is-playing .jxr-chief .jxc-cfg{display:none}
  .jxr.is-playing .jxr-chief .jxs-btn{min-height:36px;padding:0 12px;font-size:15px}
}
.pgv-draw .pgv-sheetwrap,.pgv-draw .pgv-tools,.pgv-draw .pgv-guess{max-width:600px;margin-left:auto;margin-right:auto;width:100%}
.pgv-draw{max-width:640px}
.jx-dock svg{width:20px;height:20px;flex:none;display:block}
