/* Aide partagée entre le catalogue, le sélecteur de mode et les sessions interactives. */
.trainer-help-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:24px}
.trainer-help-modal.hidden{display:none!important}
.trainer-help-backdrop{position:absolute;inset:0;border:0;background:rgba(2,8,28,.76);backdrop-filter:blur(8px);cursor:default}
.trainer-help-card{position:relative;z-index:1;width:min(760px,100%);max-height:min(860px,calc(100vh - 48px));overflow:auto;padding:30px;border:1px solid rgba(125,211,252,.28);border-radius:28px;color:#f8fbff;background:linear-gradient(150deg,#132457 0%,#101c43 58%,#17205a 100%);box-shadow:0 32px 90px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.03) inset}
.trainer-help-close{position:absolute;top:18px;right:18px;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#fff;background:rgba(255,255,255,.08);font:800 1.7rem/1 Inter,sans-serif;cursor:pointer}
.trainer-help-close:hover,.trainer-help-close:focus-visible{background:rgba(255,255,255,.16);outline:3px solid rgba(56,189,248,.42)}
.trainer-help-heading{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;padding-right:42px}
.trainer-help-heading-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:linear-gradient(145deg,#2368f2,#7336ef);box-shadow:0 14px 32px rgba(37,99,235,.3);font-size:1.7rem;font-weight:950}
.trainer-help-heading h2{margin:7px 0 8px;color:#fff;font-size:clamp(1.55rem,2.4vw,1.9rem);letter-spacing:-.04em}
.trainer-help-heading p{margin:0;color:#d6e0fa;line-height:1.55}
.trainer-help-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.trainer-help-quick-grid article{display:grid;gap:6px;padding:17px;border:1px solid rgba(148,163,184,.2);border-radius:17px;background:rgba(255,255,255,.06)}
.trainer-help-quick-grid strong{color:#fff}.trainer-help-quick-grid span{color:#d6e0fa;font-size:.92rem;line-height:1.45}
.trainer-help-interactive-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid rgba(34,211,238,.34);border-radius:20px;background:linear-gradient(120deg,rgba(14,165,233,.18),rgba(99,102,241,.18))}
.trainer-help-interactive-panel>div{display:grid;gap:6px}.trainer-help-interactive-panel strong{color:#fff;font-size:1.08rem}.trainer-help-interactive-panel span{color:#dbeafe;line-height:1.48}.trainer-help-interactive-panel .btn{flex:0 0 auto;white-space:nowrap}
.trainer-help-keyboard-tip{margin:14px 0 0;color:#b9c7ee;font-size:.86rem;text-align:center}.trainer-help-keyboard-tip kbd{display:inline-grid;place-items:center;min-width:48px;padding:4px 8px;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;background:rgba(255,255,255,.08);font:700 .78rem Inter,sans-serif;box-shadow:0 2px 0 rgba(255,255,255,.12)}
body.trainer-help-modal-open{overflow:hidden}
.trainer-help-overlay{position:fixed;inset:0;z-index:10010;pointer-events:none}.trainer-help-overlay.hidden{display:none!important}
.trainer-help-active-bar{position:fixed;z-index:3;top:12px;left:50%;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 24px);padding:10px 12px 10px 17px;border:1px solid rgba(125,211,252,.55);border-radius:16px;color:#eaf9ff;background:rgba(8,20,58,.96);box-shadow:0 14px 36px rgba(0,0,0,.38);transform:translateX(-50%);pointer-events:auto}
.trainer-help-active-bar span{white-space:nowrap}.trainer-help-active-bar button{padding:8px 12px;border:0;border-radius:10px;color:#08152f;background:#67e8f9;font-weight:900;cursor:pointer}
.trainer-help-hotspot{position:fixed;z-index:1;display:block;padding:0;border:2px solid #67e8f9;border-radius:16px;background:rgba(34,211,238,.08);box-shadow:0 0 0 4px rgba(34,211,238,.13),0 0 30px rgba(34,211,238,.18);cursor:help;pointer-events:auto;animation:trainerHelpPulse 2.2s ease-in-out infinite}
.trainer-help-hotspot:hover,.trainer-help-hotspot:focus-visible{border-color:#fbbf24;background:rgba(251,191,36,.13);box-shadow:0 0 0 5px rgba(251,191,36,.18),0 0 36px rgba(251,191,36,.2);outline:none}
.trainer-help-tooltip{position:fixed;z-index:4;display:grid;gap:7px;width:min(350px,calc(100vw - 24px));padding:16px 18px;border:1px solid rgba(125,211,252,.48);border-radius:16px;color:#fff;background:#101d48;box-shadow:0 20px 55px rgba(0,0,0,.46);pointer-events:none}.trainer-help-tooltip.hidden{display:none!important}.trainer-help-tooltip strong{font-size:1rem;color:#67e8f9}.trainer-help-tooltip span{color:#e2e8f0;font-size:.92rem;line-height:1.48}
@keyframes trainerHelpPulse{0%,100%{box-shadow:0 0 0 4px rgba(34,211,238,.12),0 0 24px rgba(34,211,238,.13)}50%{box-shadow:0 0 0 7px rgba(34,211,238,.2),0 0 36px rgba(34,211,238,.22)}}
body.trainer-help-active> :not(#trainerHelpOverlay){pointer-events:none!important;user-select:none!important}
body.trainer-help-active #trainerHelpOverlay{pointer-events:none!important}
body.trainer-help-active :is(.trainer-help-active-bar,.trainer-help-active-bar button,.trainer-help-hotspot,#trainerHelpTooltip){pointer-events:auto!important}

/* Boutons compacts de l’entête du catalogue : icône seule, libellé au survol. */
:is(.header-actions,.reports-top-actions) .index-toolbar-action{--index-toolbar-width:112px;display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 auto;width:50px;min-width:50px;height:50px;min-height:50px;padding:0 14px;gap:9px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:15px;color:#fff;background:rgba(255,255,255,.07);white-space:nowrap;transition:width .24s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
:is(.header-actions,.reports-top-actions) .index-toolbar-action:hover,:is(.header-actions,.reports-top-actions) .index-toolbar-action:focus-visible{width:var(--index-toolbar-width);border-color:rgba(103,232,249,.5);background:rgba(35,63,132,.82);box-shadow:0 10px 26px rgba(3,10,32,.28);outline:none}
:is(.header-actions,.reports-top-actions) .index-toolbar-action>svg{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
:is(.header-actions,.reports-top-actions) .index-toolbar-label{max-width:0;overflow:hidden;opacity:0;transform:translateX(-5px);font-weight:850;transition:max-width .24s ease,opacity .16s ease,transform .2s ease}
:is(.header-actions,.reports-top-actions) .index-toolbar-action:hover .index-toolbar-label,:is(.header-actions,.reports-top-actions) .index-toolbar-action:focus-visible .index-toolbar-label{max-width:220px;opacity:1;transform:none}
:is(.header-actions,.reports-top-actions) .index-toolbar-back{--index-toolbar-width:128px}:is(.header-actions,.reports-top-actions) .index-toolbar-manage{--index-toolbar-width:272px}:is(.header-actions,.reports-top-actions) .index-toolbar-games{--index-toolbar-width:225px}:is(.header-actions,.reports-top-actions) .index-toolbar-help{--index-toolbar-width:110px}
:is(.header-actions,.reports-top-actions) .index-toolbar-icon-finish{display:none}:is(.header-actions,.reports-top-actions) .index-toolbar-action.is-finishing .index-toolbar-icon-default{display:none}:is(.header-actions,.reports-top-actions) .index-toolbar-action.is-finishing .index-toolbar-icon-finish{display:block}

@media(max-width:700px){
  .trainer-help-modal{padding:12px}.trainer-help-card{max-height:calc(100vh - 24px);padding:24px 18px;border-radius:22px}.trainer-help-heading{grid-template-columns:46px minmax(0,1fr);gap:12px;padding-right:32px}.trainer-help-heading-icon{width:46px;height:46px;border-radius:15px}.trainer-help-quick-grid{grid-template-columns:1fr}.trainer-help-interactive-panel{align-items:stretch;flex-direction:column}.trainer-help-interactive-panel .btn{width:100%}.trainer-help-active-bar{top:8px;width:calc(100vw - 16px);justify-content:space-between;gap:8px;font-size:.78rem}.trainer-help-active-bar span{white-space:normal}
  :is(.header-actions,.reports-top-actions) .index-toolbar-action{flex:0 0 auto;width:50px;min-width:50px}:is(.header-actions,.reports-top-actions) .index-toolbar-action:hover,:is(.header-actions,.reports-top-actions) .index-toolbar-action:focus-visible{width:50px}:is(.header-actions,.reports-top-actions) .index-toolbar-action .index-toolbar-label{display:none}
}
@media(prefers-reduced-motion:reduce){.trainer-help-hotspot{animation:none}:is(.header-actions,.reports-top-actions) .index-toolbar-action,:is(.header-actions,.reports-top-actions) .index-toolbar-label{transition:none}}

/* V111 — restauration fiable de l'ouverture animée des actions d'entête. */
@media(min-width:701px){
  :is(.header-actions,.reports-top-actions) .index-toolbar-action{
    will-change:width,transform;
    transition:width .32s cubic-bezier(.2,.8,.25,1),transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .24s ease!important;
  }
  :is(.header-actions,.reports-top-actions) .index-toolbar-label{
    display:block!important;
    transition:max-width .3s cubic-bezier(.2,.8,.25,1),opacity .2s ease .05s,transform .28s ease!important;
  }
  :is(.header-actions,.reports-top-actions) .index-toolbar-action:hover,
  :is(.header-actions,.reports-top-actions) .index-toolbar-action:focus-visible{
    width:var(--index-toolbar-width)!important;
    transform:translateY(-2px);
  }
  :is(.header-actions,.reports-top-actions) .index-toolbar-action:hover>svg,
  :is(.header-actions,.reports-top-actions) .index-toolbar-action:focus-visible>svg{
    transform:scale(1.08) rotate(-3deg);
  }
  :is(.header-actions,.reports-top-actions) .index-toolbar-action>svg{transition:transform .24s ease}
  .header-actions .trainer-login-entry{transition:transform .2s ease,filter .2s ease,box-shadow .24s ease!important}
  .header-actions .trainer-login-entry:hover,.header-actions .trainer-login-entry:focus-visible{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 14px 30px rgba(37,99,235,.28)}
}
