/* Édition 30 — QR carrés et organisation des seules liaisons privées.
   QRCode.toCanvas écrit une hauteur inline : elle ne doit jamais étirer le carré. */
#qr-canvas,#tl24-qr,#cl26-qr{display:block!important;box-sizing:content-box!important;width:var(--qr-natural-width,240px);max-width:none!important;height:auto!important;max-height:none!important;aspect-ratio:1/1!important;object-fit:contain;flex:0 0 auto;margin:0 auto!important;padding:0!important;border:12px solid #fff!important;border-radius:4px;background:#fff!important;image-rendering:pixelated}
#qr-render,#tl24-qrbox,#cl26-qr-box{box-sizing:border-box;max-width:100%;padding:16px 12px;margin:22px auto;text-align:center;scroll-margin:18px;border:2px solid var(--a28-edge,var(--ink));border-radius:10px;background:var(--paper);color:var(--ink)}
#qr-render[hidden],#tl24-qrbox[hidden],#cl26-qr-box[hidden]{display:none!important}
#qr-render>p,#tl24-qr-count,#cl26-qr-count{box-sizing:border-box;max-width:100%;margin:14px 0 0;padding:8px 10px;border-radius:6px;background:var(--a28-soft,var(--paper));color:var(--ink);font-size:.85rem;line-height:1.55;overflow-wrap:anywhere}
#qr-caption{margin:0 0 14px!important}
#qr-render:focus,#tl24-qrbox:focus,#cl26-qr-box:focus{outline:3px solid var(--a28-edge,var(--ink));outline-offset:4px}
#covered-link26-lobby #cl26-peers{display:block;box-sizing:border-box;padding:16px;margin:20px 0 24px;border:2px solid var(--a28-edge);border-radius:9px;background:var(--paper);color:var(--ink)}
#covered-link26-lobby #cl26-peers>strong,#covered-link26-lobby #cl26-peers>.l30-roster-heading{display:block;margin:0 0 14px;padding:0;color:var(--ink);font-size:.9rem;line-height:1.5}
#covered-link26-lobby #cl26-peers :is(ol,ul,.l30-roster-list){display:grid;gap:10px;list-style:none;margin:0;padding:0;width:100%;box-sizing:border-box}
#covered-link26-lobby #cl26-peers li{box-sizing:border-box;list-style:none;width:100%;margin:0;padding:11px 12px;min-width:0;border:1px solid var(--a28-edge);border-radius:7px;background:var(--paper);color:var(--ink)}
#covered-link26-lobby #cl26-peers :is(.ml29-roster-item,.l30-roster-item){gap:10px;align-items:center;min-height:46px;line-height:1.5}
#covered-link26-lobby #cl26-peers .ml29-pill{margin:0;white-space:normal;flex-shrink:0}
#covered-link26-lobby #cl26-guest-controls{margin-top:24px;padding-top:4px}
#covered-link26-lobby #cl26-guest-controls>p{margin:0 0 16px;font-size:.88rem;line-height:1.65}
#covered-link26-lobby #cl26-guest-controls .cl26-primary{margin:16px 0 22px}
#team-link24-lobby #tl24-roster{gap:12px;margin:16px 0 22px}
#team-link24-lobby #tl24-roster>.ml29-roster-item{box-sizing:border-box;margin:0;padding:12px 14px;min-height:46px}
:is(#team-link24-lobby,#covered-link26-lobby) .l30-guest-guide{padding:14px;border:2px solid var(--a28-edge);border-radius:8px;background:var(--a28-soft);color:var(--ink);line-height:1.65;margin:18px 0}
#tl24-scan,#cl26-scan{scroll-margin:18px}
@media(max-width:380px){#qr-render,#tl24-qrbox,#cl26-qr-box{padding:12px 8px}#covered-link26-lobby #cl26-peers{padding:13px}#covered-link26-lobby #cl26-peers li{padding:10px}#covered-link26-lobby #cl26-peers .ml29-pill{font-size:.67rem}}
