:root,[data-theme=club]{--violet-club:#690f99;--fond:#4c179a;--fond-panneau:#5b0fb8;--fond-bouton:#6f2cc1;--bordure:#7536c3;--texte:#ece8ff;--texte-attenue:#c9b8f5;--texte-sombre:#1c0a33;--blanc:#fff;--noir:#000;--voile:#00000040;--voile-annonce:#000000d9;--texte-fort:#fff;--contour-focus:#fff;--nuance-legere:#ffffff1a;--nuance-marquee:#ffffff59;--fond-cadre-canvas:var(--noir);--rouge:#fb2c37;--rouge-fonce:#b3121c;--rouge-clair:#ff6b73;--vert:#00bc7d;--vert-fonce:#007a51;--vert-clair:#3ddca6;--or-clair:#ffe7a3;--or-boost:#ffc21a;--ciel-orage:#24073f;--cible-fond:#1c3461;--cible-zone:#c9ccd2;--echelle-rapide:#3fcf8e;--echelle-moyen:#f6c945;--echelle-lent:#f4794f;--carton-blanc:#fbfaff;--carton-jaune:#ffd21f;--carton-rouge:#e3121b;--minuteur-preparation:#f6c945;--minuteur-effort:var(--vert);--minuteur-repos:#8fb4ff;--lueur-rouge:0 0 12px 2px #fb2c37cc, 0 0 36px 10px #fb2c3773;--lueur-verte:0 0 12px 2px #00bc7dcc, 0 0 36px 10px #00bc7d73;--lueur-club:0 0 10px 2px #ece8ffb3, 0 0 32px 8px #6f2cc1b3;--ombre-bouton:0 4px 14px #0000004d;--lueur-texte:0 0 35px #ece8ffcc, 0 10px 30px #000000e6}[data-theme=sombre]{--violet-club:#7a2cc0;--fond:#13131b;--fond-panneau:#1e1e2a;--fond-bouton:#55289c;--bordure:#3a3a50;--texte:#ecebf5;--texte-attenue:#aeadc4;--voile:#00000059;--lueur-club:0 0 10px 2px #ecebf580, 0 0 32px 8px #7a2cc099;--ombre-bouton:0 4px 14px #00000080}[data-theme=clair]{--violet-club:#690f99;--fond:#f5f3f9;--fond-panneau:#e6e2ee;--fond-bouton:#5b2aa6;--bordure:#b6abc9;--texte:#1d1630;--texte-attenue:#4f4566;--voile:#1d163014;--texte-fort:#1d1630;--contour-focus:#1d1630;--nuance-legere:#1d163014;--nuance-marquee:#1d163059;--fond-cadre-canvas:var(--fond-panneau);--minuteur-preparation:#9a6400;--minuteur-repos:#2d5bb8;--lueur-club:0 0 10px 2px #690f9973, 0 0 28px 6px #690f994d;--ombre-bouton:0 3px 10px #1d16302e;--lueur-texte:0 0 24px #ffffffe6, 0 4px 14px #1d163040}[data-theme=contraste]{--violet-club:#6a2bd9;--fond:#000;--fond-panneau:#0b0b0b;--fond-bouton:#4d1fae;--bordure:#fff;--texte:#fff;--texte-attenue:#e4e4e4;--voile:#00000080;--contour-focus:#ffe600;--nuance-legere:#fff3;--nuance-marquee:#fff9;--rouge:#ff1a1a;--rouge-fonce:#c20000;--rouge-clair:#ff6b6b;--vert:#00e05a;--vert-fonce:#008a37;--vert-clair:#5cff9a;--lueur-rouge:0 0 12px 2px #ff1a1ae6, 0 0 36px 10px #ff1a1a8c;--lueur-verte:0 0 12px 2px #00e05ae6, 0 0 36px 10px #00e05a8c;--lueur-club:0 0 10px 2px #fffc, 0 0 32px 8px #6a2bd9b3;--ombre-bouton:0 0 0 2px #ffffffd9}:root{--police:ui-rounded, "SF Pro Rounded", "Segoe UI Variable Display", "Segoe UI", Roboto, system-ui, sans-serif;--graisse-titre:900;--duree-rapide:.15s;--duree-normale:.3s;--duree-lente:.6s;--courbe-sortie:cubic-bezier(.22, 1, .36, 1);--courbe-rebond:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background-color:var(--fond);color:var(--texte);font-family:var(--police);flex-direction:column;display:flex}#scene{flex:1;min-height:0}button{font:inherit}@keyframes anim-flash{0%{opacity:1;filter:brightness(2.2);transform:scale(1.06)}to{opacity:1;filter:brightness();transform:scale(1)}}@keyframes anim-pulsation{0%,to{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes anim-apparition{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes anim-secousse{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes anim-decompte-chiffre{0%{opacity:0;transform:scale(2.4)}25%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(.95)}to{opacity:0;transform:scale(.7)}}@keyframes anim-decompte-onde{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(2)}}@keyframes anim-confetti{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(var(--derive), 110vh) rotate(var(--rotation))}}@keyframes anim-carton-brandi{0%{opacity:1;animation-timing-function:cubic-bezier(.34,1.56,.64,1);transform:translateY(-70vh)rotate(-35deg)scale(1.3)}22%{filter:brightness(var(--eclat-carte,1.7));animation-timing-function:ease-out;transform:translate(0)rotate(-4deg)scale(1.08)}30%{filter:brightness();transform:translate(0)rotate(2deg)scale(1)}73%{opacity:1;animation-timing-function:ease-in;transform:translate(0)rotate(0)scale(1)}to{opacity:.9;transform:translate(var(--vol-x,0), var(--vol-y,0)) rotate(0) scale(var(--vol-echelle,.2))}}@keyframes anim-carton-retournement{0%,33%{transform:rotateY(0)}55%,to{transform:rotateY(180deg)}}@keyframes anim-carton-voile{0%{opacity:0}20%{opacity:.45}to{opacity:0}}@media (prefers-reduced-motion:reduce){@keyframes anim-flash{0%{opacity:.5}to{opacity:1}}@keyframes anim-pulsation{0%,to{opacity:0}50%{opacity:.6}}@keyframes anim-apparition{0%{opacity:0}to{opacity:1}}@keyframes anim-secousse{0%{opacity:.4}to{opacity:1}}@keyframes anim-decompte-chiffre{0%{opacity:0}25%,80%{opacity:1}to{opacity:0}}@keyframes anim-decompte-onde{0%,to{opacity:0}}@keyframes anim-carton-brandi{0%{opacity:0;transform:none}20%,73%{opacity:1;transform:none}to{opacity:0;transform:none}}@keyframes anim-carton-retournement{0%,49%{transform:rotateY(0)}50%,to{transform:rotateY(180deg)}}@keyframes anim-carton-voile{0%,to{opacity:0}30%{opacity:.3}}*,:before,:after{transition-duration:1ms!important}}.barre-haut{background-color:var(--fond-panneau);border-bottom:1px solid var(--bordure);grid-template-columns:1fr auto 1fr;grid-template-areas:"identite boitiers logo";align-items:center;gap:12px 16px;padding:12px 20px;display:grid}.zone-gauche{grid-area:identite;align-items:center;gap:12px;display:flex}.identite{text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;padding:2px 4px;line-height:1.15;display:flex}.identite:focus-visible{outline:3px solid var(--contour-focus);outline-offset:2px}.identite-titre{font-size:1.15rem;font-weight:var(--graisse-titre)}.identite-sous-titre{color:var(--texte-attenue);font-size:.75rem;font-weight:600}.zone-droite{grid-area:logo;justify-self:end;align-items:center;gap:12px;display:flex;position:relative}.logo-club{background-color:var(--blanc);width:44px;height:44px;box-shadow:var(--ombre-bouton);animation:anim-apparition var(--duree-lente) var(--courbe-rebond);border-radius:50%;padding:2px}.barre-boitiers{flex-wrap:wrap;grid-area:boitiers;justify-content:center;align-items:center;gap:12px;display:flex}.bouton-boitier{color:var(--blanc);background-color:var(--couleur-tireur);box-shadow:var(--ombre-bouton);cursor:pointer;transition:transform var(--duree-rapide) var(--courbe-sortie), filter var(--duree-rapide) var(--courbe-sortie);border:none;border-radius:999px;align-items:center;gap:10px;padding:9px 10px 9px 18px;font-weight:800;display:inline-flex;position:relative}.bouton-boitier[data-boitier=ROUGE]{--couleur-tireur:var(--rouge);--couleur-tireur-fonce:var(--rouge-fonce);--lueur-tireur:var(--lueur-rouge)}.bouton-boitier[data-boitier=VERT]{--couleur-tireur:var(--vert);--couleur-tireur-fonce:var(--vert-fonce);--lueur-tireur:var(--lueur-verte)}.bouton-boitier:after{content:"";border-radius:inherit;box-shadow:var(--lueur-tireur);opacity:0;pointer-events:none;transition:opacity var(--duree-normale) var(--courbe-sortie);position:absolute;inset:0}.bouton-boitier:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.bouton-boitier:hover:not(:disabled):after{opacity:1}.bouton-boitier:active:not(:disabled){transform:translateY(1px)scale(.97)}.bouton-boitier:focus-visible{outline:3px solid var(--contour-focus);outline-offset:3px}.bouton-boitier:disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.4)}.badge-boitier{background-color:var(--voile);letter-spacing:.05em;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.75rem;display:inline-flex;position:relative}.badge-boitier:before{content:"";opacity:.7;background-color:currentColor;border-radius:50%;width:7px;height:7px}.badge-boitier:after{content:"";border-radius:inherit;box-shadow:var(--lueur-club);opacity:0;pointer-events:none;position:absolute;inset:0}.badge-boitier.connecte{color:var(--couleur-tireur-fonce);background-color:var(--blanc);animation:anim-apparition var(--duree-normale) var(--courbe-rebond)}.badge-boitier.connecte:before{opacity:1}.badge-boitier.connecte:after{animation:anim-pulsation var(--duree-lente) ease-in-out 3}.badge-boitier.deconnecte{animation:anim-secousse var(--duree-normale) var(--courbe-sortie)}.badge-boitier.reconnexion:before{animation:anim-pulsation var(--duree-lente) ease-in-out infinite}.bouton-reconnecter{width:2.2rem;height:2.2rem;color:var(--blanc);background-color:var(--couleur-tireur);box-shadow:var(--ombre-bouton);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.bouton-reconnecter[data-boitier=ROUGE]{--couleur-tireur:var(--rouge)}.bouton-reconnecter[data-boitier=VERT]{--couleur-tireur:var(--vert)}.bouton-reconnecter[hidden]{display:none}.bouton-reconnecter .icone{width:1.2rem;height:1.2rem}.bouton-reconnecter:hover{filter:brightness(1.08)}.bouton-reconnecter:focus-visible{outline:3px solid var(--contour-focus);outline-offset:3px}.liaison-boitiers{cursor:default;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:1.2rem;font-weight:900;line-height:1;display:inline-flex;position:relative}.liaison-boitiers[hidden]{display:none}.liaison-boitiers[data-etat=liee]{color:var(--blanc);background-color:var(--fond-bouton);box-shadow:var(--ombre-bouton)}.liaison-boitiers.etablie{animation:anim-apparition var(--duree-normale) var(--courbe-rebond)}.liaison-boitiers[data-etat=non-liee]{color:var(--texte-attenue);background-color:var(--voile);opacity:.75}.liaison-boitiers[data-etat=non-liee]:after{content:"";background-color:currentColor;height:2px;position:absolute;top:calc(50% - 1px);left:22%;right:22%;transform:rotate(-40deg)}.badge-boitier.avec-fiche{cursor:help}.barres-signal{align-items:flex-end;gap:1px;height:10px;display:inline-flex}.barres-signal[hidden]{display:none}.barres-signal i{opacity:.25;background-color:currentColor;border-radius:1px;width:3px}.barres-signal i:first-child{height:25%}.barres-signal i:nth-child(2){height:50%}.barres-signal i:nth-child(3){height:75%}.barres-signal i:nth-child(4){height:100%}.barres-signal[data-barres="1"] i:nth-child(-n+1),.barres-signal[data-barres="2"] i:nth-child(-n+2),.barres-signal[data-barres="3"] i:nth-child(-n+3),.barres-signal[data-barres="4"] i{opacity:1}.barre-boitiers{position:relative}.fiche-boitier{z-index:100;text-align:left;width:min(380px,100vw - 32px);max-height:calc(100vh - 120px);color:var(--texte);background-color:var(--fond-panneau);border:1px solid var(--bordure);border-top:4px solid var(--couleur-tireur);box-shadow:var(--ombre-bouton);transform-origin:top;animation:anim-apparition var(--duree-rapide) var(--courbe-sortie);border-radius:12px;padding:14px 16px;position:absolute;top:calc(100% + 10px);left:50%;overflow-y:auto;translate:-50%}.fiche-boitier[hidden]{display:none}.fiche-boitier[data-tireur=ROUGE]{--couleur-tireur:var(--rouge)}.fiche-boitier[data-tireur=VERT]{--couleur-tireur:var(--vert)}.fiche-entete{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.fiche-entete h2{font-size:1.1rem;font-weight:var(--graisse-titre);color:var(--couleur-tireur);margin:0}.fiche-nom{color:var(--texte-attenue);margin:0;font-size:.8rem}.fiche-fermer{width:32px;height:32px;color:var(--texte);background-color:var(--fond-bouton);cursor:pointer;border:none;border-radius:50%;flex:none;font-size:1.3rem;line-height:1}.fiche-fermer:focus-visible{outline:3px solid var(--contour-focus);outline-offset:2px}.fiche-section{border-top:1px solid var(--bordure);margin:12px 0 6px;padding-top:10px;font-size:.9rem;font-weight:800}.fiche-liste{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:.85rem;display:grid}.fiche-liste dt{color:var(--texte-attenue)}.fiche-liste dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:700}.fiche-signal{align-items:center;gap:6px;display:inline-flex}.fiche-message{color:var(--texte-attenue);margin:4px 0;font-size:.9rem}.fiche-mise-a-jour{color:var(--texte-attenue);margin:12px 0 0;font-size:.75rem}.fiche-deconnecter{color:var(--texte);background-color:var(--fond-bouton);cursor:pointer;border:none;border-radius:999px;margin:14px 0 0 auto;padding:8px 18px;font-weight:800;display:block}.fiche-deconnecter:hover{filter:brightness(1.15)}.fiche-deconnecter:focus-visible{outline:3px solid var(--contour-focus);outline-offset:2px}.fiche-statut-liaison{border-radius:999px;padding:1px 10px;display:inline-block}.fiche-statut-liaison[data-etat=liee]{color:var(--blanc);background-color:var(--fond-bouton);box-shadow:var(--ombre-bouton)}.fiche-statut-liaison[data-etat=non-liee],.fiche-statut-liaison[data-etat=masquee]{color:var(--texte-attenue);background-color:var(--voile)}.fiche-statut-liaison[data-etat=masquee]{opacity:.75}.message-boitiers{text-align:center;flex-basis:100%;font-size:.85rem}.message-boitiers:empty{display:none}.message-boitiers:not(:empty){animation:anim-apparition var(--duree-normale) var(--courbe-sortie)}.menu-modes{position:relative}.bouton-menu,.bouton-plein-ecran,.bouton-theme{width:40px;height:40px;color:var(--texte);background-color:var(--fond-bouton);box-shadow:var(--ombre-bouton);cursor:pointer;transition:transform var(--duree-rapide) var(--courbe-sortie), filter var(--duree-rapide) var(--courbe-sortie);border:none;border-radius:50%;place-items:center;font-size:1.2rem;display:grid}.bouton-menu:hover,.bouton-plein-ecran:hover,.bouton-theme:hover{filter:brightness(1.15)}.bouton-menu:active,.bouton-plein-ecran:active,.bouton-theme:active{transform:scale(.94)}.bouton-plein-ecran[hidden]{display:none}.message-plein-ecran{z-index:100;background-color:var(--fond-panneau);border:1px solid var(--bordure);width:max-content;max-width:min(320px,100vw - 24px);box-shadow:var(--ombre-bouton);animation:anim-apparition var(--duree-normale) var(--courbe-sortie);border-radius:12px;padding:10px 14px;font-size:.85rem;font-weight:600;position:absolute;top:calc(100% + 8px);right:0}.message-plein-ecran[hidden]{display:none}.choix-theme{position:relative}.bouton-theme .icone{stroke-width:2px;width:21px;height:21px}.menu-themes{z-index:100;background-color:var(--fond-panneau);border:1px solid var(--bordure);min-width:250px;max-width:calc(100vw - 24px);box-shadow:var(--ombre-bouton);transform-origin:100% 0;animation:anim-apparition var(--duree-rapide) var(--courbe-sortie);border-radius:12px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.menu-themes[hidden]{display:none}.entree-theme{text-align:left;min-height:44px;color:var(--texte);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;font-weight:700;display:flex}.entree-theme:hover,.entree-theme:focus-visible{background-color:var(--fond-bouton);color:var(--blanc)}.apercu-theme{border:1px solid var(--bordure);border-radius:6px;flex:none;display:flex;overflow:hidden}.pastille-theme{width:12px;height:22px}.nom-theme{white-space:nowrap;flex:1}.coche-theme{visibility:hidden;font-weight:900}.entree-theme[aria-checked=true] .coche-theme{visibility:visible}.pastille-telecommande{height:32px;color:var(--blanc);background-color:var(--vert-fonce);box-shadow:var(--ombre-bouton);cursor:pointer;animation:anim-apparition var(--duree-normale) var(--courbe-sortie);border:none;border-radius:999px;align-items:center;gap:6px;padding:0 12px 0 8px;font-size:.8rem;font-weight:800;display:flex}.pastille-telecommande[hidden]{display:none}.pastille-telecommande.commande-recue{animation:anim-flash var(--duree-lente) var(--courbe-sortie)}.pastille-telecommande .icone{width:18px;height:18px}.pastille-telecommande:focus-visible{outline:3px solid var(--contour-focus);outline-offset:3px}@media (width<=600px){.pastille-telecommande{padding:0 7px}.pastille-telecommande .libelle-pastille{display:none}}.bouton-plein-ecran svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.bouton-menu:focus-visible,.bouton-plein-ecran:focus-visible,.bouton-theme:focus-visible,.entree-mode:focus-visible,.entree-theme:focus-visible{outline:3px solid var(--contour-focus);outline-offset:3px}.liste-modes{z-index:100;background-color:var(--fond-panneau);border:1px solid var(--bordure);min-width:180px;box-shadow:var(--ombre-bouton);transform-origin:0 0;animation:anim-apparition var(--duree-rapide) var(--courbe-sortie);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 8px);left:0}.entree-mode{width:100%;color:var(--texte);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:flex}.entree-mode:hover{background-color:var(--fond-bouton)}.entree-mode.actif{font-weight:var(--graisse-titre);background-color:var(--violet-club)}.icone{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.entree-mode .icone{flex:none;width:22px;height:22px}.separateur-menu{border:none;border-top:1px solid var(--bordure);margin:6px 8px}.erreur-mode{z-index:1100;max-width:calc(100% - 32px);color:var(--blanc);background-color:var(--rouge-fonce);box-shadow:var(--ombre-bouton);border-radius:999px;padding:12px 20px;font-weight:700;position:fixed;bottom:24px;left:50%;translate:-50%}.bandeau-veille,.message-veille{z-index:1100;text-align:center;width:max-content;max-width:calc(100% - 32px);color:var(--texte);background-color:var(--fond-panneau);border:2px solid var(--echelle-moyen);box-shadow:var(--ombre-bouton);border-radius:24px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;padding:10px 12px 10px 20px;font-weight:700;display:flex;position:fixed;top:84px;left:50%;translate:-50%}.message-veille{border-color:var(--bordure);padding:10px 20px}.bandeau-veille[hidden],.message-veille[hidden]{display:none}.bandeau-veille:not([hidden]),.message-veille:not([hidden]){animation:anim-apparition var(--duree-normale) var(--courbe-sortie)}.bandeau-veille-alerte{color:var(--echelle-moyen)}.bandeau-veille-alerte:empty{display:none}.bandeau-veille-bouton{color:var(--blanc);background-color:var(--vert-fonce);cursor:pointer;border:none;border-radius:999px;padding:8px 16px;font-weight:800}.bandeau-veille-bouton:focus-visible{outline:3px solid var(--contour-focus);outline-offset:2px}.bandeau-connexion{z-index:1100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);display:flex;position:fixed;top:144px;left:50%;translate:-50%}.bandeau-connexion[hidden]{display:none}.bandeau-connexion-ligne{text-align:center;color:var(--texte);background-color:var(--fond-panneau);border:3px solid var(--rouge);box-shadow:var(--ombre-bouton), var(--lueur-rouge);pointer-events:auto;animation:anim-apparition var(--duree-normale) var(--courbe-sortie);border-radius:24px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;padding:12px 14px 12px 22px;font-size:1.15rem;font-weight:800;display:flex}.bandeau-connexion-ligne[data-etat=perdu]{box-shadow:var(--ombre-bouton)}.bandeau-connexion-ligne[data-etat=reconnecte]{border-color:var(--vert);box-shadow:var(--ombre-bouton), var(--lueur-verte)}.bandeau-connexion-bouton,.bandeau-connexion-fermer{color:var(--blanc);background-color:var(--fond-bouton);cursor:pointer;border:none;border-radius:999px;padding:8px 16px;font-weight:800}.bandeau-connexion-fermer{color:var(--texte);background-color:var(--voile);padding:8px 12px}.bandeau-connexion-bouton:focus-visible,.bandeau-connexion-fermer:focus-visible{outline:3px solid var(--contour-focus);outline-offset:2px}@media (width<=600px){.bandeau-connexion{top:180px}.bandeau-veille,.message-veille{top:120px}}.bandeau-mode-suivant{z-index:1100;text-align:center;max-width:calc(100% - 32px);color:var(--texte);background-color:var(--fond-panneau);border:2px solid var(--couleur-tireur,var(--bordure));box-shadow:var(--ombre-bouton);border-radius:999px;padding:12px 20px;font-weight:700;position:fixed;bottom:24px;left:50%;translate:-50%}.bandeau-mode-suivant[hidden]{display:none}.bandeau-mode-suivant:not([hidden]){animation:anim-apparition var(--duree-normale) var(--courbe-sortie)}.bandeau-mode-suivant[data-tireur=ROUGE]{--couleur-tireur:var(--rouge)}.bandeau-mode-suivant[data-tireur=VERT]{--couleur-tireur:var(--vert)}.erreur-mode:not([hidden]){animation:anim-secousse var(--duree-normale) var(--courbe-sortie)}.erreur-demarrage{text-align:center;padding:48px 16px;font-size:1.2rem;font-weight:700}@media (width<=600px){.barre-haut{grid-template-columns:1fr auto;grid-template-areas:"identite logo""boitiers boitiers";padding:10px 12px}.barre-boitiers{gap:8px}.bouton-boitier{gap:6px;padding:6px 6px 6px 12px;font-size:.85rem}.badge-boitier{padding:3px 8px}.liaison-boitiers{z-index:1;flex-shrink:0;width:1.6rem;height:1.6rem;margin-inline:-10px;font-size:.95rem}.liaison-boitiers[data-etat]{box-shadow:0 0 0 3px var(--fond)}.liaison-boitiers[data-etat=non-liee]{opacity:1;background-color:var(--fond-panneau)}}.annonce{z-index:1000;background-color:var(--voile-annonce);opacity:0;pointer-events:none;transition:opacity var(--duree-rapide) var(--courbe-sortie);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.annonce.visible{opacity:1;pointer-events:auto}.annonce-texte{color:var(--blanc);font-size:15vw;font-weight:var(--graisse-titre);letter-spacing:.02em;text-align:center;text-transform:uppercase;text-shadow:var(--lueur-texte);padding:0 4vw;line-height:1}.annonce-texte.apparait{animation:anim-apparition var(--duree-normale) var(--courbe-rebond)}.tuile-compacte{min-width:0;min-height:80px;font:inherit;text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;color:var(--texte);background-color:var(--fond-bouton);box-shadow:var(--ombre-bouton);cursor:pointer;transition:transform var(--duree-rapide) var(--courbe-sortie), filter var(--duree-rapide) var(--courbe-sortie);border:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 4px;font-size:.8rem;font-weight:800;line-height:1.15;display:flex}.tuile-compacte .icone{flex-shrink:0;width:28px;height:28px}.tuile-compacte:hover{filter:brightness(1.12)}.tuile-compacte:active{transform:scale(.96)}.tuile-compacte:focus-visible{outline:3px solid var(--contour-focus);outline-offset:3px}.confettis{--couleur-confetti:var(--fond-bouton);pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti{top:-24px;left:var(--x);width:12px;height:18px;animation:anim-confetti var(--duree) linear var(--delai) infinite;border-radius:3px;position:absolute}.confetti-0{background-color:var(--blanc)}.confetti-1{background-color:var(--violet-club)}.confetti-2{background-color:var(--texte-attenue)}.confetti-3{background-color:var(--couleur-confetti)}@media (prefers-reduced-motion:reduce){.confettis{display:none}}.rangee-cartons{--largeur-carton:clamp(14px, 1.6vw, 24px);z-index:2;min-height:calc(var(--largeur-carton) * 1.4 + 12px);color:var(--texte-fort);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;display:flex;position:relative}.rangee-cartons.vide{visibility:hidden}.rangee-cartons:disabled{cursor:default}.rangee-cartons:focus-visible{outline:3px solid var(--contour-focus);outline-offset:2px}.carton{width:var(--largeur-carton,14px);aspect-ratio:5/7;border:2px solid var(--blanc);border-radius:3px;display:inline-block;box-shadow:0 2px 6px #00000073}.carton-blanc{background-color:var(--carton-blanc);border-color:var(--texte-sombre)}.carton-jaune{background-color:var(--carton-jaune)}.carton-rouge{background-color:var(--carton-rouge)}.groupe-cartons{align-items:center;gap:4px;display:flex}.nombre-cartons{font-size:calc(var(--largeur-carton) * .9);text-shadow:0 1px 4px #0009;font-weight:800}.rangee-cartons .a-venir{opacity:0}.rangee-cartons .arrive{animation:anim-apparition var(--duree-normale) var(--courbe-rebond)}.bouton-carton{background-color:var(--voile);border:2px solid var(--texte);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.bouton-carton .carton{border-width:1px;width:14px}.bouton-carton:disabled{opacity:.3;cursor:not-allowed}.bouton-carton:focus-visible{outline:3px solid var(--contour-focus);outline-offset:2px}.voile-carton{z-index:1;background-color:var(--carton-rouge);opacity:0;pointer-events:none;position:absolute;inset:0}.voile-carton.actif{animation:anim-carton-voile .9s var(--courbe-sortie)}.carte-brandie{z-index:3;aspect-ratio:5/7;visibility:hidden;pointer-events:none;perspective:800px;width:clamp(90px,14vw,180px);position:absolute;top:50%;left:50%;translate:-50% -50%}.carte-brandie.anime{visibility:visible;animation:1.5s linear both anim-carton-brandi}.carte-brandie .faces-carte{width:100%;height:100%;transform-style:preserve-3d;position:relative}.carte-brandie .face{border:4px solid var(--blanc);backface-visibility:hidden;border-radius:10px;position:absolute;inset:0;box-shadow:0 10px 30px #00000080}.carte-brandie .face-avant{background-color:var(--carton-jaune)}.carte-brandie .face-arriere{background-color:var(--carton-rouge);transform:rotateY(180deg)}.carte-blanc{--eclat-carte:1.15}.carte-blanc .face-avant{background-color:var(--carton-blanc);border-color:var(--texte-sombre)}.carte-rouge .faces-carte{transform:rotateY(180deg)}.carte-retournement.anime .faces-carte{animation:1.5s ease-in-out both anim-carton-retournement}.confirmation-carton{z-index:4;background-color:var(--voile-annonce);animation:anim-apparition var(--duree-normale) var(--courbe-sortie);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.confirmation-carton[hidden]{display:none}.carte-confirmation{text-align:center;background-color:var(--fond-panneau);border:1px solid var(--bordure);width:min(420px,100%);box-shadow:var(--ombre-bouton);border-radius:20px;flex-direction:column;align-items:center;gap:20px;padding:24px;display:flex}.question-carton{font-size:1.4rem;font-weight:var(--graisse-titre);margin:0}.choix-confirmation{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.choix-confirmation button{min-width:120px;min-height:48px;font:inherit;color:var(--texte);border:2px solid var(--bordure);cursor:pointer;transition:transform var(--duree-rapide) var(--courbe-sortie), filter var(--duree-rapide) var(--courbe-sortie);background-color:#0000;border-radius:999px;padding:10px 24px;font-weight:800}.choix-confirmation .bouton-retirer-carton{color:var(--blanc);background-color:var(--carton-rouge);border-color:var(--carton-rouge)}.choix-confirmation button:hover{filter:brightness(1.12)}.choix-confirmation button:active{transform:scale(.96)}.choix-confirmation button:focus-visible{outline:3px solid var(--contour-focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){.carte-retournement.anime .faces-carte{animation-timing-function:step-end}}body.telecommande-active .barre-haut,body.telecommande-active #scene{display:none}.ecran-telecommande{min-height:0;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));background-color:var(--fond);flex:1;grid-template-rows:auto 1fr;gap:12px;display:grid;overflow-y:auto}.ecran-telecommande[hidden]{display:none}.ecran-telecommande button{color:var(--blanc);cursor:pointer;touch-action:manipulation;transition:transform var(--duree-rapide) var(--courbe-sortie), filter var(--duree-rapide) var(--courbe-sortie);border:none}.ecran-telecommande button:active:not(:disabled){filter:brightness(1.2);transform:scale(.95)}.ecran-telecommande button:disabled{opacity:.45;cursor:not-allowed}.ecran-telecommande button:focus-visible{outline:3px solid var(--contour-focus);outline-offset:2px}.ecran-telecommande .tc-haut,.ecran-telecommande .tc-bas{flex-direction:column;gap:12px;min-width:0;display:flex}.ecran-telecommande .tc-entete{justify-content:space-between;align-items:center;gap:12px;display:flex}.ecran-telecommande .tc-indicateur{align-items:center;gap:8px;margin:0;font-weight:800;display:flex}.ecran-telecommande .tc-point{background-color:var(--vert);border-radius:50%;width:14px;height:14px}.ecran-telecommande .tc-indicateur[data-etat=reconnexion] .tc-point{background-color:var(--echelle-moyen);animation:anim-flash var(--duree-lente) var(--courbe-sortie) infinite alternate}.ecran-telecommande .tc-indicateur[data-etat=hote-absent] .tc-point{background-color:var(--rouge)}.ecran-telecommande .tc-deconnecter{background-color:var(--rouge-fonce);min-height:44px;box-shadow:var(--ombre-bouton);border-radius:999px;padding:8px 16px;font-weight:800}.ecran-telecommande .tc-modes{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.ecran-telecommande .tc-mode{border:2px solid #0000}.ecran-telecommande .tc-mode.actif{color:var(--texte-sombre);background-color:var(--blanc);border-color:var(--vert-clair)}.ecran-telecommande .tc-bas{background-color:var(--fond-panneau);border:1px solid var(--bordure);border-radius:20px;padding:16px}.ecran-telecommande .tc-contexte.tc-avec-couleur{background-color:color-mix(in srgb, var(--couleur-contexte) 35%, var(--fond-panneau));transition:background-color var(--duree-normale) var(--courbe-sortie);border-radius:14px;padding:10px 12px}.ecran-telecommande .tc-contexte{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.ecran-telecommande .tc-titre{font-size:1.2rem;font-weight:var(--graisse-titre);margin:0}.ecran-telecommande .tc-scores{flex-wrap:wrap;justify-content:center;gap:12px 20px;margin:4px 0 0;display:flex}.ecran-telecommande .tc-scores[hidden],.ecran-telecommande .tc-chrono[hidden]{display:none}.ecran-telecommande .tc-score{min-width:2.4em;font-size:2.6rem;font-weight:var(--graisse-titre);font-variant-numeric:tabular-nums;color:var(--blanc);border-radius:14px;padding:2px 14px;line-height:1.1}.ecran-telecommande .tc-bloc-rouge{--couleur-tireur:var(--rouge);--couleur-tireur-fonce:var(--rouge-fonce)}.ecran-telecommande .tc-bloc-vert{--couleur-tireur:var(--vert);--couleur-tireur-fonce:var(--vert-fonce)}.ecran-telecommande .tc-bloc-score{align-items:center;gap:6px;display:flex}.ecran-telecommande .tc-bloc-score .tc-score{background-color:var(--couleur-tireur)}.ecran-telecommande .tc-correction{background-color:var(--couleur-tireur-fonce);width:56px;height:56px;box-shadow:var(--ombre-bouton);border-radius:14px;place-items:center;padding:0;display:grid}.ecran-telecommande .tc-correction[hidden]{display:none}.ecran-telecommande .tc-correction .icone{width:26px;height:26px}.ecran-telecommande .tc-bloc-score{flex-wrap:wrap;justify-content:center}.ecran-telecommande .tc-cartons{flex-basis:100%;justify-content:center;align-items:center;gap:8px;display:flex}.ecran-telecommande .tc-cartons[hidden],.ecran-telecommande .tc-rangee-cartons[hidden]{display:none}.ecran-telecommande .tc-carton{aspect-ratio:5/7;border:2px solid var(--blanc);border-radius:3px;width:16px;display:inline-block}.ecran-telecommande .tc-carton-blanc{background-color:var(--carton-blanc);border-color:var(--texte-sombre)}.ecran-telecommande .tc-carton-jaune{background-color:var(--carton-jaune)}.ecran-telecommande .tc-carton-rouge{background-color:var(--carton-rouge)}.ecran-telecommande .tc-rangee-cartons{background-color:var(--voile);border-radius:12px;align-items:center;gap:5px;min-height:44px;padding:4px 10px;display:flex}.ecran-telecommande .tc-rangee-cartons:disabled{opacity:1}.ecran-telecommande .tc-nombre-cartons{font-weight:800}.ecran-telecommande .tc-bouton-carton{background-color:var(--fond-bouton);width:56px;height:56px;box-shadow:var(--ombre-bouton);border-radius:14px;place-items:center;padding:0;display:grid}.ecran-telecommande .tc-bouton-carton .tc-carton{width:22px}.ecran-telecommande .tc-bouton-carton[hidden]{display:none}.ecran-telecommande .tc-scores.tc-neutres .tc-bloc-score{--couleur-tireur:var(--fond-bouton);--couleur-tireur-fonce:var(--fond-panneau)}.ecran-telecommande .tc-nom{text-overflow:ellipsis;white-space:nowrap;min-height:44px;color:var(--texte-fort);border:2px dashed var(--bordure);background:0 0;border-radius:12px;flex-basis:100%;padding:4px 10px;font-size:1.15rem;font-weight:800;overflow:hidden}.ecran-telecommande .tc-nom[hidden]{display:none}.ecran-telecommande .tc-nom:disabled{opacity:1;border-color:#0000}.ecran-telecommande .tc-points{flex-basis:100%;justify-content:center;gap:8px;display:flex}.ecran-telecommande .tc-points[hidden]{display:none}.ecran-telecommande .tc-bouton-points{min-width:72px;min-height:64px;font-size:1.5rem;font-weight:var(--graisse-titre);background-color:var(--couleur-tireur-fonce);border:2px solid var(--bordure);box-shadow:var(--ombre-bouton);border-radius:14px}.ecran-telecommande .tc-bouton-points.tc-retrait{min-width:48px;color:var(--texte-fort);background-color:var(--voile);box-shadow:none;border-style:dashed;font-size:1rem}.ecran-telecommande .tc-champ-saisie{min-height:52px;font:inherit;text-align:center;color:var(--texte-fort);background-color:var(--voile);border:2px solid var(--texte-fort);border-radius:12px;padding:8px 12px;font-size:1.2rem;font-weight:800}.ecran-telecommande .tc-chrono{font-size:2.4rem;font-weight:var(--graisse-titre);font-variant-numeric:tabular-nums;margin:0}.ecran-telecommande .tc-statut{min-height:1.4em;color:var(--texte-attenue);margin:0;font-size:1.1rem;font-weight:700}.ecran-telecommande .tc-avertissement,.ecran-telecommande .tc-vide{text-align:center;margin:0;font-weight:700}.ecran-telecommande .tc-avertissement{color:var(--or-clair)}.ecran-telecommande .tc-avertissement:empty,.ecran-telecommande .tc-vide:empty{display:none}.ecran-telecommande .tc-vide{color:var(--texte-attenue)}.ecran-telecommande .tc-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.ecran-telecommande .tc-action{background-color:var(--fond-bouton);min-height:56px;box-shadow:var(--ombre-bouton);border-radius:16px;padding:10px 14px;font-size:1.05rem;font-weight:800}.ecran-telecommande .tc-principale{background-color:var(--vert);grid-column:1/-1;min-height:80px;font-size:1.5rem}.ecran-telecommande .tc-confirmation{z-index:1200;background-color:var(--voile-annonce);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ecran-telecommande .tc-confirmation[hidden]{display:none}.ecran-telecommande .tc-boite{text-align:center;background-color:var(--fond-panneau);border:1px solid var(--bordure);width:min(360px,100%);box-shadow:var(--ombre-bouton);animation:anim-apparition var(--duree-normale) var(--courbe-sortie);border-radius:20px;flex-direction:column;gap:16px;padding:20px;display:flex}.ecran-telecommande .tc-question{margin:0;font-size:1.15rem;font-weight:800}.ecran-telecommande .tc-choix{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ecran-telecommande .tc-choix button{border-radius:14px;min-height:56px;font-weight:800}.ecran-telecommande .tc-annuler{background-color:var(--fond-bouton)}.ecran-telecommande .tc-confirmer{background-color:var(--vert)}@media (orientation:landscape) and (width>=640px){.ecran-telecommande{grid-template-rows:1fr;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}
