/* Linkelia v3.4.1 — lecteur pédagogique universel
 * Source unique : ce fichier remplace les surcouches historiques du lecteur.
 */

/* Alignement public stable : la navigation reste centrée dans l’écran,
 * indépendamment de la largeur du logo et des actions à droite. */
.body-has-training-reader .public-header-row{grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr)}
.body-has-training-reader .public-brand-link{justify-self:start}
.body-has-training-reader .public-nav{justify-self:center}
.body-has-training-reader .public-header-actions{justify-self:end}

.training-reader-page-v310{
  --reader-ink:#0f2340;
  --reader-text:#243b58;
  --reader-muted:#667b96;
  --reader-line:#dce6f2;
  --reader-line-strong:#c7d6e8;
  --reader-surface:#fff;
  --reader-soft:#f6f9fd;
  --reader-blue:#3f5cff;
  --reader-violet:#7145ef;
  --reader-cyan:#18b7d2;
  --reader-green:#0aa66f;
  --reader-red:#cc3d55;
  --reader-amber:#b97708;
  --reader-font-percent:100%;
  color:var(--reader-text);
  font-size:16px;
}
.training-reader-page-v310 *,.training-reader-page-v310 *::before,.training-reader-page-v310 *::after{box-sizing:border-box}
.training-reader-page-v310 button,.training-reader-page-v310 input,.training-reader-page-v310 select,.training-reader-page-v310 textarea{font:inherit}
.training-reader-page-v310 button{cursor:pointer}
.training-reader-page-v310 button:disabled{cursor:not-allowed;opacity:.48}
.training-reader-page-v310 [hidden]{display:none!important}
.training-reader-page-v310 .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.training-reader-page-v310 a{color:inherit}
.training-reader-page-v310 :focus-visible{outline:3px solid rgba(63,92,255,.28);outline-offset:2px}

.training-reader-shell-v310{margin:0 auto;display:grid}
.reader-intro-v310{
  display:grid;
  border:1px solid var(--reader-line);
  background:rgba(255,255,255,.96);
  position:relative;
  overflow:hidden;
}
.reader-intro-v310::after{content:"";position:absolute;border-radius:999px;background:linear-gradient(90deg,var(--reader-blue),var(--reader-violet),var(--reader-cyan))}
.reader-return-v310{display:inline-flex;align-items:center;gap:7px;border-radius:10px;text-decoration:none;color:#24476f;font-weight:800}
.reader-return-v310:hover{background:#f0f5ff;color:#173a66}
.reader-title-v310 h1{margin:0;color:var(--reader-ink);font-weight:900;letter-spacing:-.015em;white-space:normal}
.reader-title-v310 p{margin:3px 0 0;color:var(--reader-muted);font-size:.8rem}
.reader-intro-spacer-v310{min-width:0}

.ref-viewer{
  display:grid;
  grid-template-columns:0 0 minmax(0,1fr);
  min-width:0;
  isolation:isolate;
}
.ref-fullscreen-shell{grid-column:1;min-width:0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease}
.ref-viewer[data-plan-open="1"] .ref-fullscreen-shell{opacity:1;pointer-events:auto}
.ref-fullscreen-shell-inner{min-width:var(--fs-nav-width)}
.ref-fs-sidebar-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--reader-line);
}
.ref-fs-sidebar-head{display:flex;align-items:center}
.ref-fs-sidebar-eyebrow{display:block;margin-bottom:1px;color:#657892;font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.ref-fs-sidebar-head h3{margin:0;color:var(--reader-ink);font-size:.82rem;line-height:1.2}
.ref-fs-mobile-close{border:1px solid #dce5f0;color:#31506f;line-height:1}
.ref-fs-mobile-close:hover{background:#eff4ff;border-color:#b9c9df}
.ref-fs-sidebar-tools{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f6}.ref-fs-outline-tools,.ref-fs-width-tools{display:flex;align-items:center}.ref-fs-width-tools{flex:0 0 auto}.ref-fs-width-tools span{min-width:43px;color:#60758f;font-size:.61rem;font-weight:850;text-align:center}.ref-fs-width-button{display:grid;place-items:center;padding:0;border:1px solid #dbe5f1;background:#fff;color:#355777;font-weight:900}.ref-fs-width-button:hover:not(:disabled){border-color:#9eb3d0;background:#edf3ff}.ref-fs-width-button:disabled{opacity:.4;cursor:not-allowed}
.ref-fs-tool{border:1px solid #dbe5f1;color:#45617f;font-weight:800}
.ref-fs-tool:hover{border-color:#9eb3d0;background:#f2f6ff}
.ref-fs-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border:1px solid #dce5f0;background:#fff;color:#6b8097}
.ref-fs-search:focus-within{border-color:#8ca8e8;box-shadow:0 0 0 3px rgba(63,92,255,.10)}
.ref-fs-search-icon{line-height:1}
.ref-fs-search input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#284761}
.ref-fs-search input::placeholder{color:#8a9caf}
.ref-fs-search button{display:grid;place-items:center;padding:0;border:0;background:#eef3fb;color:#526e8c;font-size:.9rem}
.ref-fs-search button:hover{background:#e2eaff;color:#284f78}
.ref-fs-outline{flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd7e6 transparent}


















.ref-fs-empty{margin:12px 8px;padding:12px;border:1px dashed #cfdbea;border-radius:11px;background:#f8faff;color:#667d94;font-size:.7rem;line-height:1.45;text-align:center}
.ref-fs-outline button:disabled{color:#60758d;filter:none}
.ref-fs-resizer{grid-column:2;padding:0;border:0;background:transparent;cursor:col-resize;position:relative;touch-action:none}
.ref-fs-resizer::after{content:"";position:absolute;border-radius:99px;background:linear-gradient(180deg,#b9c9dc,#7f9ab8,#b9c9dc);opacity:.45;transition:opacity .16s ease}
.ref-viewer[data-plan-open="1"] .ref-fs-resizer::after,.ref-fs-resizer:hover::after,.ref-fs-resizer.is-dragging::after{opacity:1}

.ref-stage{
  grid-column:3;
  min-width:0;
  display:grid;
  align-content:start;
  overflow:hidden;
  border:1px solid var(--reader-line);
  background:#fff;
}
.ref-stage-head{display:grid;border-bottom:1px solid #e8eef6;background:linear-gradient(180deg,#fff,#fbfcff)}
.ref-stage-toolbar{display:flex;align-items:center;gap:10px}
.ref-toolbar-actions{display:flex;align-items:center}
.ref-assist-toggle,.ref-display-toggle,.ref-mobile-plan-toggle,.ref-feedback-toggle,.ref-admin-edit,.ref-fullscreen-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:#345675;font-weight:850;white-space:nowrap}
.ref-assist-toggle:hover,.ref-display-toggle:hover,.ref-mobile-plan-toggle:hover,.ref-admin-edit:hover{background:#eff4ff;color:#173e68}
.ref-assist-toggle.is-on,.ref-display-toggle.is-on,.ref-mobile-plan-toggle.is-on{background:#eaf1ff;border-color:#b8c9ed;color:#1a4675}
.ref-feedback-toggle{border-color:#90d9e3;background:linear-gradient(135deg,#e9fbff,#edf3ff);color:#12617c}
.ref-feedback-toggle:hover{border-color:#4ec2d3;background:linear-gradient(135deg,#dcf8ff,#e4edff);transform:translateY(-1px)}
.ref-admin-edit{text-decoration:none;border-color:#d2c6fa;background:linear-gradient(135deg,#f3efff,#eef5ff);color:#5c3bb8}
.ref-admin-edit:hover{border-color:#aa91ee;background:linear-gradient(135deg,#ece4ff,#e8f2ff);color:#452898}
.ref-fullscreen-toggle{background:#163957;color:#fff;border-color:#163957}
.ref-fullscreen-toggle:hover,.ref-fullscreen-toggle.is-on{background:#0d2b47;border-color:#0d2b47}
.ref-tool-icon{font-size:.9rem;line-height:1}
.ref-font-controls{display:flex;align-items:center;border-left:1px solid #e3e9f1;border-right:1px solid #e3e9f1}
.ref-font-btn{border:0;border-radius:8px;background:transparent;color:#365777;font-weight:900}
.ref-font-btn.is-reset{color:#677b92}
.ref-font-btn:hover:not(:disabled){background:#eef3ff;color:#153f6a}
.ref-exam-indicator{padding:6px 10px;border-radius:10px;background:#fff6db;color:#815b10;font-size:.74rem;font-weight:850}
.ref-progress-bar{background:#edf1f7;overflow:hidden}
.ref-progress-bar>span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--reader-blue),var(--reader-violet),var(--reader-cyan));transition:width .22s ease}

.ref-stage-body{min-width:0;font-size:var(--reader-font-percent)}
.ref-screen-card{margin:0 auto;display:grid}
.ref-screen-header{display:grid;gap:4px;text-align:left}
.ref-screen-title{display:flex;align-items:flex-start;margin:0;color:var(--reader-ink);font-weight:900;letter-spacing:-.015em}
.ref-screen-legal-number{flex:0 0 auto;display:inline-grid;place-items:center;margin-top:.02em;padding:0 8px;border:1px solid #c8d8f4;background:linear-gradient(135deg,#edf2ff,#edfbff);color:#4260d8;font-size:.75em;font-weight:900}
.ref-screen-subtitle{margin:0;color:var(--reader-muted);font-size:.86em;line-height:1.5}
.ref-screen-text{width:100%;display:grid;color:var(--reader-text);font-size:.94em}
.ref-screen-text p,.ref-screen-text ul,.ref-screen-text ol,.ref-screen-text blockquote{margin:0}
.ref-screen-text p{text-align:left}
.ref-screen-text ul,.ref-screen-text ol{padding-left:1.25rem}
.ref-screen-text a{color:#2d55c7;text-decoration-thickness:1px;text-underline-offset:2px}
.ref-screen-text strong{color:#142e4c}
.ref-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.ref-highlights.count-3,.ref-highlights.count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.ref-highlight{display:grid;gap:3px;min-height:0;border:1px solid #e0e8f2;background:linear-gradient(145deg,#fff,#f8fbff)}
.ref-highlight strong{color:#173957;font-size:.83em}
.ref-highlight span{color:#5d718a;font-size:.78em;line-height:1.45}
.ref-takeaway{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;border:1px solid #bde4e6;background:linear-gradient(135deg,#effbfb,#f4f7ff)}
.ref-takeaway strong{color:#0d6170;font-size:.78em;white-space:nowrap}
.ref-takeaway p{margin:0;color:#35536d;font-size:.82em;line-height:1.5}
.ref-keywords-structured{display:grid;gap:8px;padding:12px;border:1px solid #e0e7f2;border-radius:14px;background:#fbfcff}
.ref-keywords-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ref-keywords-head strong{color:#173957;font-size:.82em}.ref-keywords-head span{color:#71839a;font-size:.72em}
.ref-keywords-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ref-keyword-card{padding:9px 10px;border-radius:11px;background:#fff;border:1px solid #e4eaf3}
.ref-keyword-term{color:#244767;font-size:.76em;font-weight:900}.ref-keyword-desc{margin-top:3px;color:#64778e;font-size:.72em;line-height:1.42}

.ref-screen-card-quiz{gap:10px}.ref-quiz-screen-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 2px 8px;border-bottom:1px solid #e2e9f2}.ref-quiz-screen-head>div{min-width:0}.ref-quiz-screen-eyebrow{display:block;margin-bottom:4px;color:#5d72a0;font-size:.64em;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.ref-quiz-screen-count{flex:0 0 auto;padding:5px 8px;border:1px solid #dbe5ef;border-radius:999px;background:#f7faff;color:#5d728d;font-size:.66em;font-weight:850}.ref-quiz-screen-list{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.ref-quiz-screen-list>.ref-question{grid-column:auto!important;display:grid;grid-template-columns:minmax(250px,.42fr) minmax(0,.58fr);align-items:center;gap:10px;padding:9px 10px}.ref-quiz-screen-list>.ref-question .ref-question-head{align-self:start}.ref-quiz-screen-list>.ref-question .ref-options{align-self:center}.ref-quiz-screen-list>.ref-question .ref-options.is-options-inline{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.ref-quiz-screen-list>.ref-question .ref-options.is-options-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ref-quiz-screen-list>.ref-question .ref-question-instructions,.ref-quiz-screen-list>.ref-question .ref-feedback{grid-column:1/-1}.ref-quiz-screen-list>.ref-question:has(.ref-association-list),.ref-quiz-screen-list>.ref-question:has(.ref-ordering-list),.ref-quiz-screen-list>.ref-question:has(.ref-cloze-list),.ref-quiz-screen-list>.ref-question:has(.ref-short-structured){grid-template-columns:1fr}.ref-quiz-screen-list>.ref-question:has(.ref-association-list) .ref-question-head,.ref-quiz-screen-list>.ref-question:has(.ref-ordering-list) .ref-question-head,.ref-quiz-screen-list>.ref-question:has(.ref-cloze-list) .ref-question-head,.ref-quiz-screen-list>.ref-question:has(.ref-short-structured) .ref-question-head{grid-column:1/-1}

.ref-inline-check{display:grid;gap:8px;border:1px solid #d7e4f5;border-radius:16px}
.ref-inline-check-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid #e1e9f3}
.ref-inline-check-head span{display:block;margin-bottom:2px;color:#5972a0;font-size:.66em;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.ref-inline-check-head h3{margin:0;color:var(--reader-ink);font-size:1em;line-height:1.3}
.ref-inline-check-head p{margin:0;color:#73869c;font-size:.72em;font-weight:800}
.ref-quiz-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start}
.ref-quiz-wrap.questions-count-1{grid-template-columns:1fr}
.ref-quiz-wrap.questions-count-3>.ref-question:last-child,.ref-quiz-wrap.questions-count-5>.ref-question:last-child,.ref-quiz-wrap.questions-count-7>.ref-question:last-child,.ref-quiz-wrap.questions-count-9>.ref-question:last-child,.ref-question.is-question-wide{grid-column:1/-1}
.ref-question{min-width:0;display:grid;align-content:start;gap:6px;padding:9px;border:1px solid #dce6f1;border-radius:14px;background:#fff}
.ref-question-head{display:flex;align-items:center;justify-content:space-between;gap:7px}
.ref-question-head h3{min-width:0;display:flex;align-items:flex-start;gap:8px;margin:0;color:#162f4c;font-size:.88em;line-height:1.32;font-weight:750}
.ref-question-head h3 strong{font-weight:850}
.ref-question-number{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#edf2ff;color:#3f5bd8;font-size:.7em;font-weight:900}
.ref-question-hint{flex:0 0 auto;padding:4px 7px;border:1px solid #d8e4ef;border-radius:999px;background:#f4f8fc;color:#456986;font-size:.62em;font-weight:850;white-space:nowrap}
.ref-question-instructions{margin:0;color:#718299;font-size:.72em;line-height:1.45}
.ref-options{display:grid;gap:6px}
.ref-options.is-options-inline{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.ref-options.is-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ref-option{min-width:0;display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 8px;border:1px solid #dbe5ef;border-radius:11px;background:#fcfdff;color:#203b58;font-size:.76em;line-height:1.3}
.ref-option:hover{border-color:#a9bdd8;background:#f7faff}
.ref-option:has(input:checked){border-color:#7798e8;background:#eef3ff;color:#173e69}
.ref-option input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:var(--reader-blue)}
.ref-option span{min-width:0}
.ref-option.is-correct,.ref-question.is-correct .ref-option.is-expected{border-color:#72c6a6;background:#ecfbf4;color:#125d43}
.ref-option.is-wrong{border-color:#eda4b1;background:#fff1f3;color:#8e283b}
.ref-option.is-expected{border-color:#79c8a8;background:#eefbf5;color:#176247}

.ref-association-list,.ref-ordering-list,.ref-cloze-list,.ref-short-structured{display:grid;gap:7px}
.ref-association-row{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(180px,.75fr);align-items:center;gap:7px;padding:7px;border:1px solid #e1e8f1;border-radius:11px;background:#fbfcff}
.ref-association-left,.ref-order-label{font-size:.77em;line-height:1.35}
.ref-association-arrow{text-align:center;color:#7b8da4}
.ref-association-control select,.ref-order-control select,.ref-cloze-row input,.ref-short-field input,.ref-free-response input,.ref-free-response textarea{width:100%;min-height:38px;border:1px solid #cfdbea;border-radius:9px;background:#fff;padding:7px 9px;color:#183653}
.ref-order-row{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:8px;padding:7px;border:1px solid #e1e8f1;border-radius:11px;background:#fbfcff}
.ref-order-control{display:flex;align-items:center;gap:5px}.ref-order-control span{font-size:.68em;color:#697b91}.ref-order-control select{min-width:58px}
.ref-cloze-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:7px;border:1px solid #e1e8f1;border-radius:11px;background:#fbfcff;font-size:.77em}
.ref-cloze-row input{flex:1 1 150px;width:auto}
.ref-short-field{display:grid;gap:4px}.ref-short-label{font-size:.75em;font-weight:850;color:#294a68}.ref-short-help{font-size:.68em;color:#73859a}
.ref-free-response{display:grid;gap:4px}.ref-free-response textarea{min-height:120px;resize:vertical}.ref-free-response small{color:#73859a;font-size:.68em}

.ref-feedback{display:none;margin-top:2px}
.ref-feedback.is-visible{display:block}
.ref-feedback-summary{padding:11px 12px;border-radius:12px;border:1px solid #dbe5ef;background:#f7f9fc}
.ref-feedback-summary p{margin:0;font-size:.78em;line-height:1.45;font-weight:750}
.ref-feedback-summary.is-success{border-color:#a9dfc9;background:#effbf5;color:#155f45}
.ref-feedback-summary.is-error{border-color:#f1b8c1;background:#fff3f5;color:#8d2c3d}
.ref-feedback-summary.is-admin-review{border-color:#b9c9ed;background:#f1f4ff;color:#274c78}
.ref-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.ref-feedback-panel{padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.72)}
.ref-feedback-panel strong{font-size:.72em}.ref-feedback-panel ul{margin:5px 0 0;padding-left:1.05rem;font-size:.7em}
.ref-feedback-explanations{margin-top:8px}.ref-feedback-explanations li+li{margin-top:4px}.ref-feedback-question{font-weight:800}
/* Conflit de révision : deux versions de la progression, choix explicite avant toute écriture. */
.ref-conflict{margin:0 0 12px;padding:14px 16px;border:1px solid #e3b7a1;border-radius:12px;background:#fff7f2;color:#5a3a2a}
.ref-conflict h2{margin:0 0 6px;font-size:1rem;line-height:1.3}
.ref-conflict p{margin:0 0 6px;font-size:.8rem;line-height:1.45}
.ref-conflict-meta{color:#7a5a48}
.ref-conflict-versions{display:grid;gap:8px;margin:8px 0}
.ref-conflict-screen h3{margin:0 0 4px;font-size:.8rem}
.ref-conflict-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.ref-conflict-version{padding:8px;border-radius:8px;background:rgba(255,255,255,.85);border:1px solid #ead6ca}
.ref-conflict-version strong{display:block;margin-bottom:4px;font-size:.72rem}
.ref-conflict-version pre{margin:0;max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.76rem;line-height:1.4}
.ref-conflict-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ref-viewer[data-conflict="1"] #module-screen{pointer-events:none;opacity:.55}
.ref-question-feedback{margin-top:2px;padding:9px;border-radius:10px;font-size:.72em;line-height:1.45}
.ref-question-feedback.is-success{background:#effbf5;color:#155f45}.ref-question-feedback.is-error{background:#fff3f5;color:#8d2c3d}
.ref-question-feedback p{margin:0}.ref-question-feedback ul{margin:5px 0 0;padding-left:1rem}
.ref-admin-correction{margin-top:7px;padding:8px 9px;border:1px dashed #9eb6db;border-radius:9px;background:#f3f6fd;color:#315372;font-size:.71em}

.ref-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ref-action-card{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid #dfe7f1;border-radius:14px;background:#fff}
.ref-action-card h3{margin:0;color:#163653;font-size:.86em;line-height:1.3}.ref-action-card p{margin:4px 0 0;color:#667990;font-size:.74em;line-height:1.4}.ref-action-link{flex:0 0 auto}

.ref-document-panel,.ref-exercise-panel,.ref-visual-panel,.ref-submission-panel{display:grid;gap:11px;padding:13px;border:1px solid #dfe7f1;border-radius:15px;background:#fbfcff}
.ref-document-head h3,.ref-exercise-head h3,.ref-visual-head h3{margin:2px 0 0;color:#183a59;font-size:1em;line-height:1.3}
.ref-document-eyebrow,.ref-exercise-eyebrow,.ref-visual-eyebrow{color:#5871a0;font-size:.68em;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.ref-document-rows{display:grid;gap:6px}.ref-document-row{display:grid;grid-template-columns:minmax(140px,.45fr) minmax(0,1fr);gap:10px;padding:8px;border-radius:10px;background:#fff;border:1px solid #e4eaf2}.ref-document-label{font-size:.72em;font-weight:850;color:#345675}.ref-document-value{font-size:.75em;color:#5d7087}
.ref-document-note,.ref-exercise-coach,.ref-visual-note{padding:9px 10px;border-radius:10px;background:#eef5ff;color:#35597a;font-size:.74em;line-height:1.45}
.ref-exercise-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ref-exercise-box{padding:10px;border:1px solid #e2e9f2;border-radius:11px;background:#fff}.ref-exercise-box strong{font-size:.77em}.ref-exercise-box ul,.ref-exercise-box ol{margin:6px 0 0;padding-left:1.15rem;font-size:.73em;line-height:1.45}
.ref-visual-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ref-visual-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:9px;border:1px solid #e2e9f2;border-radius:11px;background:#fff}.ref-visual-step-order{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf2ff;color:#4260d8;font-weight:900}.ref-visual-step h4{margin:0;font-size:.78em;line-height:1.3}.ref-visual-step p{margin:3px 0 0;color:#65788f;font-size:.71em;line-height:1.4}.ref-visual-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ref-visual-metric{display:grid;text-align:center;padding:10px;border-radius:11px;background:#fff;border:1px solid #e2e9f2}.ref-visual-metric strong{font-size:1em;color:#244f7c}.ref-visual-metric span{font-size:.68em;color:#71849a}

.ref-submission-top{display:flex;justify-content:space-between;gap:12px}.ref-submission-top strong{font-size:.86em}.ref-submission-top p{margin:3px 0 0;color:#65778e;font-size:.74em}.ref-submission-status{font-size:.7em;color:#667990}.ref-submission-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:10px}.ref-submission-main{display:grid;gap:7px}.ref-submission-label{font-size:.75em;font-weight:850}.ref-submission-textarea{width:100%;min-height:240px;resize:vertical;border:1px solid #cfdbea;border-radius:11px;padding:10px}.ref-submission-meta,.ref-submission-actions{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.68em;color:#708299}.ref-submission-side{display:grid;align-content:start;gap:8px}.ref-submission-box{padding:10px;border:1px solid #e0e8f1;border-radius:11px;background:#fff}.ref-submission-box strong{font-size:.75em}.ref-submission-box ul,.ref-submission-box ol{margin:6px 0 0;padding-left:1.1rem;font-size:.7em;line-height:1.4}.ref-submission-checks{display:grid;gap:5px;margin-top:6px}.ref-submission-check{display:flex;gap:7px;align-items:start;font-size:.7em}.ref-submission-check input{margin-top:2px}
.ref-exam-box{display:grid;gap:9px;padding:12px;border:1px solid #ecd59c;border-radius:14px;background:#fffaf0}.ref-exam-box-head{display:flex;justify-content:space-between}.ref-exam-pill,.ref-exam-mode-chip{padding:4px 7px;border-radius:999px;background:#fff0c6;color:#805a10;font-size:.66em;font-weight:850}.ref-exam-box-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ref-exam-box-grid article{padding:8px;border-radius:10px;background:#fff}.ref-exam-box-grid span{display:block;color:#7a6b4a;font-size:.65em}.ref-exam-box-grid strong{font-size:.8em}

.ref-completion-hero{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px;border:1px solid #bde2d4;border-radius:16px;background:linear-gradient(135deg,#effbf5,#f1f6ff)}.ref-completion-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#15aa78,#36b9c9);color:#fff;font-size:1.3em;font-weight:900}.ref-completion-eyebrow{color:#3c6e66;font-size:.68em;font-weight:900;text-transform:uppercase}.ref-completion-title{margin:3px 0 0;color:#163a51;font-size:1.15em}.ref-completion-text,.ref-completion-note{margin:5px 0 0;color:#587086;font-size:.78em;line-height:1.5}
.ref-result-screen{display:grid;gap:10px}.ref-result-screen h2{margin:0;color:#153753;font-size:1.08em;line-height:1.3}.ref-result-screen>p{margin:0;color:#687b91}.ref-score-card{display:grid;gap:11px;padding:14px;border:1px solid #dbe5ef;border-radius:15px;background:#fbfcff}.ref-score-card>strong{font-size:1em}.ref-score-card>p{margin:0;color:#65778c;font-size:.78em}.ref-score-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ref-score-metric{display:grid;text-align:center;padding:10px;border-radius:11px;background:#fff;border:1px solid #e1e8f1}.ref-score-metric strong{font-size:1em;color:#2c4f75}.ref-score-metric span{font-size:.67em;color:#74869b}.ref-score-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ref-score-pane{padding:10px;border-radius:11px;background:#fff;border:1px solid #e1e8f1}.ref-score-pane h4{margin:0;font-size:.78em;line-height:1.3}.ref-score-pane ul{margin:6px 0 0;padding-left:1.1rem;font-size:.7em}

.ref-nav-note{min-height:0;margin-top:8px;text-align:center;color:#60758d;font-size:.72rem}
.ref-nav{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:10px;margin:0 auto}
.ref-nav-left{justify-self:start}.ref-nav-right{justify-self:end}.ref-nav-center{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.ref-nav-progress{display:flex;align-items:center;gap:5px;white-space:nowrap}
.ref-stage-note,.ref-nav-counter{display:inline-flex;align-items:center;min-height:31px;padding:5px 9px;border:1px solid #dce5ef;border-radius:999px;background:#fff;color:#5e738b;font-size:.69rem;font-weight:850}
.ref-nav-counter{color:#304f70}
.ref-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d5e0ec;background:#fff;color:#294b6c;font-weight:900;box-shadow:none}
.ref-nav-button:hover:not(:disabled){border-color:#9eb5d0;background:#f4f7ff}
.ref-nav-button-next{border-color:#4d5cf0;background:linear-gradient(135deg,#405cff,#7245e9);color:#fff;box-shadow:0 7px 17px rgba(75,75,225,.17)}
.ref-nav-button-next:hover:not(:disabled){background:linear-gradient(135deg,#334ee8,#6537da);border-color:#3d49d9}
.ref-nav-button-validate{min-width:150px;border-color:#183d5c;background:#183d5c;color:#fff}
.ref-nav-button-validate:hover:not(:disabled){background:#0f2e49;border-color:#0f2e49}

.ref-viewer:fullscreen,.ref-viewer.is-fullscreen{width:100vw;height:100vh;border-radius:0;background:#f6f8fc}
.ref-viewer:fullscreen .ref-stage,.ref-viewer.is-fullscreen .ref-stage{grid-template-rows:auto minmax(0,1fr) auto}
.ref-viewer:fullscreen .ref-stage-body,.ref-viewer.is-fullscreen .ref-stage-body{display:flex;flex-direction:column;overflow:auto}
.ref-viewer:fullscreen #module-screen,.ref-viewer.is-fullscreen #module-screen{margin-block:auto;width:100%}

.is-aide .ref-screen-text strong{background:none;color:#6841d8;font-weight:900}
.is-aide .aid-key{padding:0;background:none;font-weight:900;text-decoration:underline;text-decoration-thickness:.10em;text-underline-offset:.16em;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}
.is-aide .aid-key-1{color:#2857c8}.is-aide .aid-key-2{color:#007c8f}.is-aide .aid-key-3{color:#6c3acb}.is-aide .aid-key-4{color:#a05d00}.is-aide .aid-key-5{color:#087853}.is-aide .aid-key-6{color:#b33e67}
.ref-key-emph{font-weight:800;color:#183d67}

.ref-feedback-modal[hidden]{display:none!important}
.ref-feedback-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px;background:rgba(16,34,58,.58);backdrop-filter:blur(4px)}
.ref-feedback-dialog{width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(10,28,52,.3)}
.ref-feedback-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid #e5ebf2}.ref-feedback-head h2{margin:0;color:#163650;font-size:1.05rem;line-height:1.3}.ref-feedback-close{border:1px solid #d8e2ed;border-radius:10px;background:#fff;color:#405d79}.ref-feedback-head .ref-feedback-close{width:34px;height:34px;font-size:1.25rem}.ref-feedback-context{display:grid;gap:2px;padding:11px 17px;background:#f6f9fd;color:#587087;font-size:.75rem}.ref-feedback-context strong{color:#244664}.ref-feedback-form{display:grid;gap:11px;padding:16px 17px}.ref-feedback-form label{display:grid;gap:5px}.ref-feedback-form label>span{font-size:.75rem;font-weight:850;color:#294b68}.ref-feedback-form input,.ref-feedback-form textarea{width:100%;border:1px solid #cfdbe8;border-radius:10px;padding:9px 10px}
.ref-feedback-form input[readonly]{background:#f4f7fb;color:#50667f}
.ref-feedback-form label>span small{font-size:.78em;font-weight:650;color:#8291a3}.ref-feedback-form textarea{min-height:140px;resize:vertical}.ref-feedback-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.ref-feedback-privacy{margin:0;color:#73849a;font-size:.68rem;line-height:1.45}.ref-feedback-status{min-height:18px;font-size:.72rem}.ref-feedback-status.is-ok{color:#08764f;font-weight:800}.ref-feedback-status.is-error{color:#a42f45;font-weight:800}.ref-feedback-actions{display:flex;justify-content:flex-end;gap:8px}.ref-feedback-cancel,.ref-feedback-submit{min-height:38px;padding:8px 14px;border-radius:10px;font-weight:850}.ref-feedback-submit{border:1px solid #3e5ce8;background:#3e5ce8;color:#fff}.ref-feedback-cancel{border:1px solid #d4dfeb;background:#fff;color:#3e5d79}

@media (max-width:1100px){
  .ref-toolbar-actions{max-width:100%}
  .ref-options.is-options-inline,.ref-options.is-options-grid{grid-template-columns:1fr}
  .ref-submission-layout{grid-template-columns:1fr}
}
@media (max-width:980px){
  .body-has-training-reader .public-header-row{grid-template-columns:1fr auto}
  .body-has-training-reader .public-header-actions{grid-column:2}
  .training-reader-page-v310{padding-top:10px}
  .reader-intro-v310{padding-inline:10px}
  .reader-intro-spacer-v310{width:58px}
  .reader-return-v310 span:last-child{display:none}
  .ref-fullscreen-shell-inner{background:transparent}
  .ref-fs-search{margin-top:6px}
  
  .ref-stage{display:grid;width:100%}
  .ref-stage-toolbar{overflow-x:auto;scrollbar-width:none}
  .ref-toolbar-actions{flex-wrap:nowrap}
  .ref-quiz-wrap{grid-template-columns:1fr}
  .ref-quiz-screen-list>.ref-question{grid-template-columns:1fr}
  .ref-quiz-screen-list>.ref-question .ref-options.is-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ref-question,.ref-question.is-question-wide{grid-column:auto}
  .ref-highlights,.ref-highlights.count-3,.ref-highlights.count-4{grid-template-columns:1fr 1fr}
  .ref-keywords-list{grid-template-columns:1fr}
  .ref-nav-button-prev span:last-child,.ref-nav-button-next span:first-child{display:none}
  .ref-nav-center{flex-wrap:wrap;gap:5px}
  .ref-nav-progress{order:2;flex-basis:100%;justify-content:center}
  .ref-nav-button-validate{order:1;min-width:130px}
}
@media (max-width:640px){
  .reader-intro-v310{min-height:46px;border-radius:14px}
  .reader-title-v310 h1{font-size:.88rem;line-height:1.25}
  .reader-intro-spacer-v310{width:38px}
  .ref-stage{border-radius:16px}
  .ref-tool-text{display:none}
  .ref-assist-toggle,.ref-display-toggle,.ref-mobile-plan-toggle,.ref-feedback-toggle,.ref-admin-edit,.ref-fullscreen-toggle{min-height:32px;padding:5px 8px}
  .ref-screen-title{font-size:1.02em}
  .ref-stage-body{padding:10px 7px 12px}
  .ref-highlights,.ref-highlights.count-3,.ref-highlights.count-4{grid-template-columns:1fr}
  .ref-takeaway{grid-template-columns:1fr;gap:4px}
  .ref-inline-check{padding:10px}
  .ref-inline-check-head{align-items:start}.ref-inline-check-head p{display:none}
  .ref-question{padding:8px}
  .ref-quiz-screen-head{align-items:flex-start;flex-direction:column;gap:7px}
  .ref-quiz-screen-list>.ref-question .ref-options.is-options-grid{grid-template-columns:1fr}
  .ref-question-head{display:grid}.ref-question-hint{justify-self:start}
  .ref-options.is-options-inline,.ref-options.is-options-grid{grid-template-columns:1fr}
  .ref-association-row{grid-template-columns:1fr}.ref-association-arrow{display:none}
  .ref-order-row{grid-template-columns:78px minmax(0,1fr)}
  .ref-cloze-row{display:grid;grid-template-columns:1fr}.ref-cloze-row input{width:100%}
  .ref-actions-grid,.ref-exercise-columns,.ref-visual-steps,.ref-visual-metrics,.ref-exam-box-grid,.ref-score-metrics,.ref-score-details,.ref-feedback-grid{grid-template-columns:1fr}
  .ref-action-card{align-items:flex-start;flex-direction:column}
  .ref-document-row{grid-template-columns:1fr;gap:3px}
  .ref-nav-wrap{padding:7px 8px}
  .ref-nav{grid-template-columns:42px minmax(0,1fr) 42px}
  .ref-nav-button{width:42px;min-width:42px;height:38px;padding:0}
  .ref-nav-button-validate{width:auto;min-width:115px;padding:7px 10px}
  .ref-stage-note,.ref-nav-counter{min-height:27px;padding:4px 7px;font-size:.62rem}
}
@media (prefers-reduced-motion:reduce){
  .training-reader-page-v310 *,.training-reader-page-v310 *::before,.training-reader-page-v310 *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* v3.1.2 — priorité smartphone : toutes les commandes restent visibles sans débordement. */
@media (max-width:640px){
  .ref-stage-toolbar{overflow:visible;justify-content:center;padding:6px}
  .ref-toolbar-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0;gap:4px;padding:4px}
  .ref-assist-toggle,.ref-display-toggle,.ref-mobile-plan-toggle,.ref-feedback-toggle,.ref-fullscreen-toggle{width:100%;min-width:0;min-height:40px;padding:5px 6px}
  .ref-font-controls{grid-column:span 2;width:100%;height:40px;justify-content:center;border:1px solid #e1e8f1;border-radius:9px}
  .ref-font-btn{height:34px;min-width:31px}.ref-font-btn.is-reset{min-width:50px}
  .ref-feedback-toggle{grid-column:span 2}
  .ref-feedback-toggle .ref-tool-text,.ref-mobile-plan-toggle .ref-tool-text{display:inline}
  .ref-stage-body{padding-top:9px}
  .ref-screen-title{align-items:center;gap:7px;line-height:1.25}
  .ref-screen-legal-number{min-width:34px;height:28px;padding-inline:6px;align-self:center}
}

/* Lecteur de travail pleine largeur et plan compact */
.training-reader-page-v310{padding:6px 0 18px;background:linear-gradient(180deg,#f6f8fc 0,#fff 150px)}
.training-reader-shell-v310{width:calc(100% - 8px);max-width:none;gap:7px}
.reader-intro-v310{min-height:42px;padding:5px 10px;border-radius:12px;box-shadow:0 4px 16px rgba(25,46,82,.04)}
.reader-intro-v310::after{inset:auto 10px 0;height:2px}
.reader-return-v310{min-height:30px;padding:4px 7px;font-size:.76rem}
.reader-title-v310{padding:0 7px}.reader-title-v310 h1{font-size:clamp(.91rem,1.05vw,1.08rem);line-height:1.22}.reader-title-v310 p{display:none}
.ref-viewer{border-radius:14px;transition:grid-template-columns .16s ease}.ref-viewer[data-plan-open="1"]{grid-template-columns:var(--fs-nav-width) 6px minmax(0,1fr)}
.ref-fullscreen-shell-inner{padding-right:4px}.ref-fs-sidebar-card{position:sticky;top:5px;border-radius:12px}
.ref-fs-sidebar-head{justify-content:space-between}.ref-fs-sidebar-head>strong{font-size:14px;color:#263f5f}.ref-fs-mobile-close{width:auto;border-radius:7px}
.ref-fs-sidebar-tools{gap:4px}.ref-fs-outline-tools,.ref-fs-width-tools{gap:3px}.ref-fs-tool{display:inline-flex;align-items:center;gap:3px;border-radius:6px}.ref-fs-width-button{font-size:.73rem}
.ref-fs-search{gap:4px;box-shadow:none}.ref-fs-search input{height:29px;font-size:.63rem}.ref-fs-search button{width:21px;height:21px;border-radius:5px}
.ref-fs-resizer{width:6px}.ref-fs-resizer::after{inset:12px 2px}
.ref-stage{border-radius:14px;box-shadow:0 9px 30px rgba(25,48,86,.06)}.ref-stage-toolbar{min-height:42px;padding:4px 7px}.ref-toolbar-actions{gap:2px;flex-wrap:nowrap;overflow-x:auto}.ref-assist-toggle,.ref-display-toggle,.ref-mobile-plan-toggle,.ref-feedback-toggle,.ref-admin-edit,.ref-fullscreen-toggle{gap:4px;min-height:30px;padding:4px 7px;border-radius:7px;font-size:.68rem}.ref-feedback-toggle,.ref-fullscreen-toggle{padding-inline:8px;box-shadow:none}.ref-font-controls{height:30px;padding:1px}.ref-font-btn{height:27px;min-width:29px;padding:0 5px;font-size:.66rem}.ref-font-btn.is-reset{min-width:45px;font-size:.61rem}.ref-progress-bar{height:2px}.ref-viewer[data-wide-mode="1"] .ref-screen-card{width:100%}.ref-screen-title{gap:7px;line-height:1.25}.ref-screen-legal-number{min-width:34px;height:27px;border-radius:8px}.ref-screen-text{gap:4px}.ref-highlights{gap:7px}.ref-highlight{padding:8px 10px;border-radius:10px}.ref-takeaway{padding:8px 10px;border-radius:10px}
.ref-navigation{padding:7px 10px}.ref-nav-button{min-width:104px;padding:6px 10px;border-radius:8px;font-size:.7rem}
.ref-viewer:fullscreen,.ref-viewer.is-fullscreen{padding:4px}.ref-viewer:fullscreen .ref-fs-sidebar-card,.ref-viewer.is-fullscreen .ref-fs-sidebar-card{max-height:calc(100vh - 8px)}
@media(max-width:980px){.ref-toolbar-actions{justify-content:flex-start}}
@media(max-width:620px){.training-reader-page-v310{padding-top:3px}.training-reader-shell-v310{width:100%;gap:4px}.reader-intro-v310{min-height:38px;border-radius:9px;padding:3px 5px}.reader-return-v310{font-size:.68rem}.ref-stage{border-radius:10px}}

/* v3.7.5 — lecteur fiable, hiérarchie juridique et navigation stable. */
.training-reader-page-v310{--fs-nav-width:300px}
.ref-viewer{align-items:stretch}
.ref-stage-body{
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.ref-nav-wrap{
  flex:0 0 auto;
}
.ref-fs-sidebar-card{
  height:100%;
  max-height:none;
  border-color:#dce5f0;
  background:linear-gradient(180deg,#fbfdff 0,#fff 175px);
  box-shadow:0 12px 32px rgba(24,47,80,.08);
}
.ref-fs-sidebar-head{
  min-height:58px;
  padding:9px 9px 8px 11px;
  gap:8px;
  background:linear-gradient(135deg,#f2f6ff 0,#f1fbff 100%);
  border-bottom:1px solid #dfe8f3;
}
.ref-fs-sidebar-heading{display:grid;gap:3px;min-width:0}
.ref-fs-module-badge{
  width:max-content;
  padding:2px 7px;
  border-radius:999px;
  background:#fff;
  border:1px solid #cad8ee;
  color:#315ba4;
  font-size:.56rem;
  line-height:1.35;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.ref-fs-sidebar-heading>strong{
  display:block;
  min-width:0;
  color:#183653;
  font-size:.72rem;
  line-height:1.2;
  font-weight:900;
}
.ref-fs-mobile-close{
  flex:0 0 auto;
  min-width:54px;
  height:28px;
  padding:0 8px;
  border-color:#cbd9e9;
  background:rgba(255,255,255,.8);
  font-size:.61rem;
  font-weight:850;
}
.ref-fs-sidebar-tools{padding:6px 8px;background:#fff}
.ref-fs-tool{min-height:27px;padding:3px 8px;border-color:#d7e2ef;background:#fff;font-size:.6rem}
.ref-fs-width-button{width:27px;height:27px;border-radius:8px}
.ref-fs-search{margin:7px 8px 6px;padding:0 9px;border-radius:9px}
.ref-fs-search-icon{
  position:relative;
  display:block;
  width:12px;
  height:12px;
  border:1.5px solid #72879e;
  border-radius:50%;
  font-size:0;
}
.ref-fs-search-icon::after{
  content:"";
  position:absolute;
  width:5px;
  height:1.5px;
  right:-4px;
  bottom:-2px;
  border-radius:99px;
  background:#72879e;
  transform:rotate(45deg);
  transform-origin:center;
}
.ref-fs-outline{padding:4px 7px 10px}
























.ref-screen-card{padding-bottom:2px}
.ref-screen-text{line-height:1.55}
.ref-screen-text li+li{margin-top:.28rem}
.ref-highlight{box-shadow:0 3px 12px rgba(28,55,91,.025)}

.ref-viewer:fullscreen .ref-stage,.ref-viewer.is-fullscreen .ref-stage{min-height:0}

@media(max-width:980px){
  
}
@media(max-width:620px){
  .ref-stage{height:calc(100dvh - 48px)}
  .ref-stage-body{scrollbar-gutter:auto}
  .ref-fs-sidebar-head{min-height:52px}
}

/* v3.7.6 — hauteur réelle du viewport, centrage pédagogique et verrouillage séquentiel. */
.training-reader-page-v310{
  --reader-stage-height:calc(100dvh - 132px);
  padding-bottom:8px;
}
.ref-stage{
  height:var(--reader-stage-height);
  min-height:500px;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-content:stretch;
}
.ref-fullscreen-shell-inner{height:var(--reader-stage-height)}
.ref-stage-body{
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  padding:clamp(12px,1.7vw,24px) clamp(14px,2.2vw,34px);
  background:
    radial-gradient(circle at 50% 0,rgba(72,94,235,.045),transparent 38%),
    linear-gradient(180deg,#fcfdff 0,#fff 42%);
}
#module-screen{
  flex:0 0 auto;
  width:100%;
  min-width:0;
  margin-block:auto;
  padding:6px 0;
}
.ref-screen-card{
  width:min(1180px,100%);
  padding:clamp(14px,1.45vw,21px);
  gap:11px;
  border:1px solid #e1e8f2;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(251,253,255,.98));
  box-shadow:0 13px 34px rgba(28,52,86,.065);
}
.ref-screen-card-quiz{width:min(1260px,100%)}
.ref-viewer[data-wide-mode="1"] .ref-screen-card{width:min(1460px,100%)}
.ref-screen-header{padding-bottom:3px;border-bottom:1px solid #edf1f6}
.ref-screen-title{font-size:1.18em}
.ref-inline-check{
  margin-top:1px;
  padding:12px;
  border-color:#cedcf0;
  background:linear-gradient(135deg,#f7f9ff 0,#f3fbff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}
.ref-question{border-color:#d8e3f0;box-shadow:0 5px 14px rgba(31,58,93,.035)}
.ref-option{transition:border-color .14s ease,background .14s ease,transform .14s ease}
.ref-option:hover{transform:translateY(-1px)}
.ref-nav-wrap{
  position:relative;
  bottom:auto;
  z-index:8;
  min-height:58px;
  padding:8px 14px;
  border-top:1px solid #dfe7f2;
  background:rgba(250,252,255,.98);
  box-shadow:0 -10px 28px rgba(28,52,86,.055);
  backdrop-filter:blur(10px);
}
.ref-nav{width:min(1080px,100%)}
.ref-nav-button{min-height:38px}
.ref-nav-button-next:disabled{opacity:1}
.ref-nav-button-next.is-locked{
  min-width:170px;
  border-color:#d7e0ec;
  background:#eef2f7;
  color:#6f8195;
  box-shadow:none;
}
.ref-nav-button-next.is-locked::before{
  content:"";
  width:10px;
  height:8px;
  border:1.6px solid currentColor;
  border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.ref-nav-button-next.is-locked::after{
  content:"";
  position:absolute;
  width:6px;
  height:5px;
  margin-left:-116px;
  margin-top:-12px;
  border:1.6px solid currentColor;
  border-bottom:0;
  border-radius:6px 6px 0 0;
}
.ref-nav-button-next{position:relative}
.ref-admin-navigation-chip{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  align-items:center;
  gap:5px;
  min-height:26px;
  padding:4px 8px;
  border:1px solid #d8e2ef;
  border-radius:999px;
  background:#fff;
  color:#71839a;
  font-size:.58rem;
  line-height:1;
  font-weight:850;
  white-space:nowrap;
}
.ref-stage-toolbar{position:relative}


.ref-fs-outline button:disabled{opacity:.62}




/* La barre de présence reste hors des commandes supérieures du lecteur. */
.body-has-training-reader .presence-rail-v165.presence-rail-v166{
  top:50%;
  right:12px;
  bottom:auto;
  transform:translateY(-50%);
  align-items:center;
  max-height:calc(100dvh - 24px);
}
.body-has-training-reader .presence-rail-toggle-v165.presence-rail-toggle-v166{
  width:52px;
  min-height:0;
  height:auto;
  padding:8px 5px;
  gap:6px;
}
.body-has-training-reader .presence-rail-avatars-v166{gap:4px}
.body-has-training-reader .presence-mini-avatar-v166 + .presence-mini-avatar-v166{margin-top:-7px}
.body-has-training-reader .presence-panel-v165{max-height:calc(100dvh - 28px)}
.body-has-training-reader .presence-list-v166{max-height:calc(100dvh - 286px)}

.ref-viewer:fullscreen,.ref-viewer.is-fullscreen{--reader-stage-height:calc(100dvh - 8px)}
.ref-viewer:fullscreen .ref-stage,.ref-viewer.is-fullscreen .ref-stage,.ref-viewer:fullscreen .ref-fullscreen-shell-inner,.ref-viewer.is-fullscreen .ref-fullscreen-shell-inner{height:var(--reader-stage-height)}

@media(max-width:1180px){
  .ref-admin-navigation-chip{display:none}
}
@media(max-width:980px){
  .ref-fullscreen-shell-inner{height:100%}
}
@media(max-width:620px){
  .ref-stage{min-height:440px}
  .ref-nav-button-next.is-locked{min-width:44px}
  .ref-nav-button-next.is-locked span:first-of-type{display:none}
  .ref-nav-button-next.is-locked::after{margin-left:-1px;margin-top:-12px}
}


/* v3.7.7 - plan réouvrable, lecteur mobile et évaluations longues. */
.ref-viewer{position:relative}
.ref-plan-reopen{
  position:absolute;
  left:0;
  z-index:28;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:42px;
  padding:7px 10px 7px 7px;
  border:1px solid #cbd8e9;
  border-left:0;
  border-radius:0 12px 12px 0;
  background:rgba(255,255,255,.98);
  color:#294f75;
  box-shadow:0 10px 28px rgba(31,55,86,.14);
  font-size:.68rem;
  font-weight:850;
  cursor:pointer;
}
.ref-plan-reopen[hidden]{display:none!important}
.ref-plan-reopen span:first-child{font-size:1.2rem;line-height:.7}
.ref-plan-reopen:hover,.ref-plan-reopen:focus-visible{background:#eef4ff;border-color:#9bb3dc;outline:0}
.ref-viewer[data-plan-open="0"] .ref-fs-resizer{display:none}
.ref-screen-card-quiz.is-dense-quiz{width:min(1480px,100%)}
.ref-screen-card-quiz.is-dense-quiz .ref-quiz-screen-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}
.ref-screen-card-quiz.is-dense-quiz .ref-question{height:100%}

@media(max-width:980px){
  .training-reader-page-v310{padding:3px 0 0}
  .training-reader-shell-v310{width:100%;max-width:none;margin:0;gap:3px}
  .reader-intro-v310{min-height:40px;margin:0 3px;padding:4px 7px;border-radius:10px}
  .ref-viewer,.ref-viewer[data-plan-open="1"]{display:block;min-width:0}
  .ref-stage{height:var(--reader-stage-height);min-height:0;border-radius:10px}
  .ref-stage-head{min-width:0}
  .ref-stage-toolbar{min-height:42px;padding:3px 5px;justify-content:flex-start;overflow:hidden}
  .ref-toolbar-actions{min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;overflow:visible}
  .ref-assist-toggle,.ref-display-toggle,.ref-mobile-plan-toggle,.ref-feedback-toggle,.ref-admin-edit,.ref-fullscreen-toggle{min-width:0;justify-content:center;padding:4px 5px;white-space:nowrap}
  .ref-font-controls{display:none}
  .ref-tool-text{overflow:hidden;text-overflow:ellipsis}
  .ref-admin-navigation-chip{display:none}
  .ref-stage-body{min-height:0;padding:8px 7px 10px;overflow-y:auto;overscroll-behavior:contain}
  #module-screen{margin-block:auto;padding:3px 0}
  .ref-screen-card{width:100%;padding:12px;gap:9px;border-radius:14px}
  .ref-screen-card-quiz.is-dense-quiz .ref-quiz-screen-list{grid-template-columns:1fr!important}
  .ref-nav-wrap{min-height:55px;padding:6px 7px}
  .ref-nav{width:100%;grid-template-columns:minmax(86px,1fr) auto minmax(105px,1fr);gap:5px}
  .ref-nav-button{min-width:0;padding:7px 9px;font-size:.72rem}
  .ref-nav-button-next.is-locked{min-width:0}
  .ref-nav-button-next.is-locked::after{display:none}
  .ref-fullscreen-shell{
    position:fixed;
    inset:0;
    z-index:2200;
    display:block;
    overflow:hidden;
    background:rgba(18,31,52,.34);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,visibility .18s ease;
  }
  .ref-viewer[data-plan-open="1"] .ref-fullscreen-shell{opacity:1;visibility:visible;pointer-events:auto}
  .ref-fullscreen-shell-inner{
    min-width:0;
    height:100dvh;
    padding:6px;
    transform:translateX(-103%);
    transition:transform .2s ease;
  }
  .ref-viewer[data-plan-open="1"] .ref-fullscreen-shell-inner{transform:translateX(0)}
  .ref-fs-sidebar-card{position:static;height:100%;max-height:none;border-radius:13px;box-shadow:0 18px 50px rgba(20,36,60,.24)}
  .ref-fs-outline{overscroll-behavior:contain}
  .ref-fs-resizer{display:none!important}
  .ref-plan-reopen{left:0;min-height:46px;padding:8px 8px 8px 5px;border-radius:0 12px 12px 0}
  .ref-plan-reopen span:last-child{display:none}
  .ref-presence-rail{top:50%!important;right:3px!important;bottom:auto!important;transform:translateY(-50%)!important;max-height:56dvh;width:38px;padding:5px 3px;border-radius:16px}
  .ref-presence-avatar{width:28px;height:28px}
}

@media(max-width:620px){
  .reader-title-v310 h1{font-size:.72rem;line-height:1.15}
  .reader-return-v310 span:last-child{display:none}
  .reader-return-v310{min-width:30px;justify-content:center}
  .ref-stage-toolbar{min-height:38px;padding:2px 4px}
  .ref-toolbar-actions{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}
  .ref-assist-toggle,.ref-display-toggle,.ref-mobile-plan-toggle,.ref-feedback-toggle,.ref-admin-edit,.ref-fullscreen-toggle{min-height:31px;padding:3px 2px;font-size:.59rem}
  .ref-tool-icon{font-size:.72rem}
  .ref-tool-text{display:none}
  .ref-stage-body{padding:6px 4px 7px}
  .ref-screen-card{padding:10px 9px;border-radius:12px}
  .ref-screen-header{align-items:flex-start}
  .ref-screen-title{font-size:1.02em}
  .ref-screen-text{line-height:1.5}
  .ref-highlights,.ref-visual-metrics{grid-template-columns:1fr!important}
  .ref-options.is-options-inline,.ref-options.is-options-grid{grid-template-columns:1fr!important}
  .ref-option{min-height:42px}
  .ref-quiz-screen-head{gap:6px}
  .ref-quiz-screen-count{white-space:nowrap}
  .ref-nav-wrap{min-height:52px;padding:5px 4px}
  .ref-nav{grid-template-columns:82px minmax(80px,auto) minmax(96px,1fr);gap:3px}
  .ref-nav-counter{padding:4px 6px;font-size:.58rem;white-space:nowrap}
  .ref-nav-button{min-height:38px;padding:5px 6px;font-size:.66rem}
  .ref-nav-button .ref-nav-label-long{display:none}
  .ref-plan-reopen{min-height:42px;width:29px;padding:5px 3px}
}

@media(max-width:420px){
  .reader-intro-spacer-v310{display:none}
  .reader-intro-v310{grid-template-columns:32px minmax(0,1fr)}
  .ref-nav-counter .ref-nav-part{display:none}
  .ref-presence-rail{width:34px}
}

@media(max-height:520px) and (orientation:landscape){
  .reader-intro-v310{min-height:34px}
  .ref-stage-toolbar{min-height:34px}
  .ref-stage-body{padding-top:4px;padding-bottom:4px}
  .ref-nav-wrap{min-height:44px;padding:3px 5px}
  .ref-nav-button{min-height:34px}
  #module-screen{margin-block:0}
}

/* v3.7.7 - ajustement final de la barre de présence et du viewport mobile. */
@media(max-width:980px){
  .training-reader-page-v310{--reader-stage-height:calc(100dvh - 96px)}
  .body-has-training-reader .presence-rail-v165.presence-rail-v166{
    top:50%!important;
    right:4px!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    max-height:58dvh;
  }
  .body-has-training-reader .presence-rail-toggle-v165.presence-rail-toggle-v166{
    width:38px;
    padding:6px 3px;
    border-radius:15px;
  }
  .body-has-training-reader .presence-mini-avatar-v166{width:25px;height:25px}
  .body-has-training-reader .presence-rail-count-v166{min-width:22px;height:20px}
}
@media(max-width:620px){
  .training-reader-page-v310{--reader-stage-height:calc(100dvh - 88px)}
  .body-has-training-reader .presence-rail-v165.presence-rail-v166{right:2px!important}
  .body-has-training-reader .presence-rail-toggle-v165.presence-rail-toggle-v166{width:34px;padding-inline:2px}
  .body-has-training-reader .presence-mini-avatar-v166{width:23px;height:23px}
}
@media(max-height:520px) and (orientation:landscape){
  .training-reader-page-v310{--reader-stage-height:calc(100dvh - 78px)}
}
/* Le cadre partagé calcule la hauteur disponible, y compris en paysage. */

/* v3.7.7 - aucun chevauchement du contenu sur smartphone. */
.ref-plan-reopen{top:8px;transform:none}
.ref-viewer[data-plan-open="0"] .ref-stage-toolbar{padding-left:54px}
@media(max-width:980px){
  .body-has-training-reader .main-content{padding-right:48px!important}
  .ref-plan-reopen{top:4px;transform:none}
  .ref-viewer[data-plan-open="0"] .ref-stage-toolbar{padding-left:38px}
}
@media(max-width:620px){
  .training-reader-page-v310 .ref-tool-text{display:none!important}
  .body-has-training-reader .main-content{padding-right:42px!important}
}

/* v3.7.7 - lisibilité des évaluations longues et réserve de la barre de présence. */
@media(min-width:981px){
  .body-has-training-reader .main-content{padding-right:64px!important}
  .ref-screen-card-quiz.is-dense-quiz .ref-quiz-screen-list>.ref-question{grid-template-columns:1fr!important;align-items:start}
  .ref-screen-card-quiz.is-dense-quiz .ref-quiz-screen-list>.ref-question .ref-options.is-options-inline,.ref-screen-card-quiz.is-dense-quiz .ref-quiz-screen-list>.ref-question .ref-options.is-options-grid{grid-template-columns:1fr!important}
  .ref-screen-card-quiz.is-dense-quiz .ref-quiz-screen-list>.ref-question .ref-question-head,.ref-screen-card-quiz.is-dense-quiz .ref-quiz-screen-list>.ref-question .ref-options{grid-column:1/-1}
}

/* v3.7.8 — moteur pédagogique unique : centrage, plan fiable et grilles harmonisées. */
.reader-intro-v310{
  grid-template-columns:minmax(0,1fr) minmax(420px,900px) minmax(0,1fr)!important;
  align-items:center!important;
}
.reader-return-v310{grid-column:1;justify-self:start;z-index:2}
.reader-title-v310{grid-column:2;justify-self:center;width:100%;min-width:0;text-align:center}
.reader-intro-spacer-v310{grid-column:3}
.ref-stage-toolbar{justify-content:center!important}
.ref-toolbar-actions{
  width:max-content!important;
  max-width:calc(100% - 16px);
  margin-inline:auto!important;
  justify-content:center!important;
  border:1px solid rgba(185,201,224,.78);
  border-radius:12px;
  background:rgba(248,251,255,.96);
  box-shadow:0 5px 14px rgba(39,66,104,.07);
  padding:3px;
}
.ref-admin-navigation-chip{display:none!important}
.ref-viewer[data-plan-open="0"]{grid-template-columns:0 0 minmax(0,1fr)!important}
.ref-viewer[data-plan-open="0"] .ref-fullscreen-shell{width:0!important;min-width:0!important;overflow:hidden!important}
.ref-viewer[data-plan-open="0"] .ref-stage{
  grid-column:3!important;
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
}
.ref-screen-card-visual .ref-visual-step,.ref-screen-card-visual .ref-visual-metric,.ref-highlights>article{height:100%}
.ref-visual-steps-count-1,.ref-visual-metrics-count-1{grid-template-columns:minmax(0,1fr)!important}
.ref-visual-steps-count-2,.ref-visual-metrics-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ref-visual-steps-count-3,.ref-visual-metrics-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ref-visual-steps-count-4,.ref-visual-metrics-count-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.ref-visual-steps-count-5{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.ref-visual-steps-count-5>.ref-visual-step{grid-column:span 2}
.ref-visual-steps-count-5>.ref-visual-step:nth-child(4){grid-column:2/span 2}
.ref-visual-steps-count-5>.ref-visual-step:nth-child(5){grid-column:4/span 2}
.ref-visual-steps-count-6,.ref-visual-metrics-count-6{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ref-highlights{align-items:stretch}

@media(max-width:1180px) and (min-width:981px){
  .reader-intro-v310{grid-template-columns:minmax(110px,1fr) minmax(360px,760px) minmax(110px,1fr)!important}
  .ref-toolbar-actions{max-width:calc(100% - 12px)}
  .ref-tool-text{font-size:.67rem}
}
@media(max-width:980px){
  .reader-intro-v310{grid-template-columns:38px minmax(0,1fr) 38px!important}
  .reader-return-v310{grid-column:1}
  .reader-title-v310{grid-column:2}
  .reader-intro-spacer-v310{display:block!important;grid-column:3}
  .ref-toolbar-actions{
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    border:0;
    border-radius:0;
    box-shadow:none;
    padding:0;
    background:transparent;
  }
  .ref-viewer[data-plan-open="0"] .ref-stage{grid-column:auto!important;display:grid!important}
  .ref-visual-steps,.ref-visual-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .reader-intro-v310{grid-template-columns:32px minmax(0,1fr) 32px!important}
  .ref-visual-steps,.ref-visual-metrics{grid-template-columns:1fr!important}
}

/* v3.7.8 — compensation de la réserve latérale de présence pour centrer le titre dans le viewport. */
@media(min-width:981px){
  .body-has-training-reader .reader-intro-v310{
    width:calc(100% + 64px);
    margin-right:-64px;
  }
}

/* v3.7.8 — la commande de réouverture reste à gauche sans décentrer la barre d’outils sur ordinateur. */
@media(min-width:981px){
  .ref-viewer[data-plan-open="0"] .ref-stage-toolbar{padding-left:7px!important}
}

/* v3.7.9 — barre d’outils centrée sur la largeur complète du lecteur. */
@media(min-width:981px){
  .ref-viewer[data-plan-open="1"] .ref-toolbar-actions{
    transform:translateX(calc((var(--fs-nav-width) + 10px) / -2));
  }
  .ref-viewer[data-plan-open="0"] .ref-toolbar-actions{transform:none}
}

/* v3.7.9 — écran de clôture équilibré et appel à l’action unique. */
.ref-screen-card.is-completion{width:min(1180px,100%)}
.ref-screen-card.is-completion .ref-highlights{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ref-screen-card.is-completion .ref-actions-grid{grid-template-columns:1fr!important}
.ref-screen-card.is-completion .ref-action-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#ccd8ff}
.ref-screen-card.is-completion .ref-action-card-copy{min-width:0}
.ref-screen-card.is-completion .ref-action-card-copy h3{margin:0}
.ref-screen-card.is-completion .ref-action-card-copy p{margin:5px 0 0}
.ref-screen-card.is-completion .ref-action-link{flex:0 0 auto}
@media(max-width:760px){
  .ref-screen-card.is-completion{padding:13px}
  .ref-screen-card.is-completion .ref-highlights{grid-template-columns:1fr!important}
  .ref-screen-card.is-completion .ref-action-card{align-items:stretch;flex-direction:column}
  .ref-screen-card.is-completion .ref-action-link{justify-content:center;width:100%}
}

/* Linkelia 3.8.10 — clôture de module et accès au QCM */
.ref-screen-card.is-completion{max-width:980px;padding:16px;gap:10px}
.ref-screen-card.is-completion .ref-completion-hero{padding:15px 17px;grid-template-columns:50px minmax(0,1fr);gap:12px;border-radius:14px}
.ref-screen-card.is-completion .ref-completion-icon{width:48px;height:48px;border-radius:13px;font-size:1.3em}
.ref-screen-card.is-completion .ref-completion-title{font-size:1.18em}
.ref-screen-card.is-completion .ref-completion-text,.ref-screen-card.is-completion .ref-completion-note{font-size:.78em;line-height:1.4}
.ref-screen-card.is-completion .ref-highlights{gap:8px}
.ref-screen-card.is-completion .ref-highlight-card{padding:11px 12px;min-height:auto}
.ref-screen-card.is-completion .ref-action-card{padding:14px 16px;border:2px solid #7182f0;background:linear-gradient(135deg,#f2f4ff,#e9fbff);box-shadow:0 12px 28px rgba(65,82,190,.12)}
.ref-screen-card.is-completion .ref-action-card-copy h3{font-size:1.05em}
.ref-screen-card.is-completion .ref-action-link{min-width:240px;min-height:48px;padding:12px 18px;background:linear-gradient(135deg,#6140f5,#11b8d2);color:#fff;border-radius:12px;font-size:.9em;font-weight:900;box-shadow:0 9px 20px rgba(82,72,220,.22)}
.ref-screen-card.is-completion .ref-action-link::after{content:" →"}
@media(max-width:700px){.ref-screen-card.is-completion .ref-action-link{min-width:0;width:100%}.ref-screen-card.is-completion .ref-completion-hero{grid-template-columns:42px minmax(0,1fr)}.ref-screen-card.is-completion .ref-completion-icon{width:40px;height:40px}}

/* Linkelia v4.3.3 — plan latéral du lecteur : lisibilité responsive. */
@media(min-width:981px){
  .training-reader-page-v310{--fs-nav-width:clamp(320px,21vw,390px)}
  .ref-fs-sidebar-heading>strong{font-size:clamp(.78rem,.72vw,.9rem);line-height:1.25}
  .ref-fs-module-badge{font-size:clamp(.6rem,.5vw,.67rem)}
  
  
  
  
  
  
  
  .ref-fs-tool{font-size:clamp(.62rem,.52vw,.7rem)}
}
@media(min-width:1600px){
  .ref-fs-outline{padding-inline:8px}
  
  
}
@media(max-width:980px){
  .ref-fullscreen-shell-inner{width:min(92vw,390px)!important}
  .ref-fs-sidebar-heading>strong{font-size:.82rem!important}
  
  
  
}

/* Shared reader frame: one toolbar, one scrolling stage and fixed navigation. */
.training-reader-unified{height:var(--reader-viewport-height,calc(100dvh - 100px));min-height:0;padding:0;background:none;--reader-ink:#233c4c;--reader-line:#dce6eb;--reader-accent:#116e78}
.training-reader-unified .ref-viewer{position:relative;display:grid;grid-template-columns:var(--fs-nav-width,280px) 6px minmax(0,1fr);grid-template-rows:54px minmax(0,1fr);gap:8px 4px;height:100%;min-height:0;width:100%;max-width:none;overflow:visible;background:none;align-items:stretch}
.training-reader-unified .ref-viewer[data-plan-open="0"]{grid-template-columns:0 0 minmax(0,1fr)!important;column-gap:0}
.training-reader-unified .reader-toolbar{grid-column:1/-1;grid-row:1;display:flex!important;flex-flow:row nowrap!important;align-items:center;justify-content:flex-start;gap:6px;min-width:0;min-height:0;padding:4px 7px!important;border:1px solid var(--reader-line);border-radius:9px;background:#fff;position:relative;z-index:25;box-shadow:none;transform:none}
.training-reader-unified .reader-toolbar h1{flex:1 1 auto;min-width:0;margin:0 5px;font-size:.95rem!important;line-height:1.25!important;font-weight:750;color:var(--reader-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.training-reader-unified .reader-toolbar>button,.training-reader-unified .reader-toolbar>a,.training-reader-unified .reader-options>summary{display:inline-flex!important;align-items:center;justify-content:center;flex:none;gap:5px;min-height:44px;height:44px;width:auto;margin:0;padding:5px 9px;border:1px solid #dce6eb;border-radius:6px;background:#fff;color:#30596b;font-family:inherit;font-size:.76rem;line-height:1.2;white-space:nowrap;text-decoration:none;box-shadow:none;cursor:pointer}
.training-reader-unified .reader-toolbar .reader-return{border-color:transparent;padding-inline:5px}
.training-reader-unified .reader-options{position:relative;flex:none;z-index:30}
.training-reader-unified .reader-options>summary{list-style:none}
.training-reader-unified .reader-options>summary::-webkit-details-marker{display:none}
.training-reader-unified .ref-display-panel{position:absolute;right:0;top:calc(100% + 7px);display:grid;gap:8px;min-width:245px;width:min(320px,calc(100vw - 28px));max-height:calc(100dvh - 150px);overflow:auto;background:#fff;border:1px solid var(--reader-line);border-radius:9px;padding:13px;box-shadow:0 12px 35px #183b5025;line-height:1.4}
.training-reader-unified .ref-display-panel p{margin:0;font-size:.78rem;color:#617785}
.training-reader-unified .ref-display-panel>button,.training-reader-unified .ref-display-panel>a{width:100%;min-height:34px;padding:7px 9px;text-align:left;font-family:inherit;font-size:.8rem;border:1px solid var(--reader-line);border-radius:6px;background:#fff;white-space:normal;text-decoration:none;color:#30596b;cursor:pointer}
.training-reader-unified .ref-display-panel .ref-font-controls{display:flex;justify-content:center;border:1px solid var(--reader-line);border-radius:6px;max-width:none;background:#fff;padding:0;height:36px}
.training-reader-unified .ref-font-btn{flex:1;height:34px;min-width:0;border:0;font-size:.8rem;background:none;padding:5px}
.training-reader-unified .reader-options-title{font-size:.84rem;overflow-wrap:anywhere}
.training-reader-unified #reader-save-state{font-size:.7rem;color:#547382}
.training-reader-unified #reader-save-state[data-state="error"]{color:#a1462e}
.training-reader-unified .ref-fullscreen-shell{grid-column:1;grid-row:2;display:block;position:relative!important;inset:auto!important;width:auto;min-width:0;min-height:0;height:100%;max-height:none;padding:0;background:#f9fbfc;overflow:hidden;z-index:5;border:1px solid var(--reader-line);border-radius:10px;box-shadow:none;transform:none}
.training-reader-unified .ref-fullscreen-shell-inner{height:100%;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0}
.training-reader-unified .ref-fs-sidebar-card{display:flex;flex-direction:column;gap:7px;min-height:100%;height:auto;padding:9px;background:#f9fbfc;border:0;border-radius:0;box-shadow:none}
.training-reader-unified .ref-fs-sidebar-head{display:flex;align-items:center;justify-content:space-between;position:static;margin:0;padding:0;min-height:28px;border:0;font-size:.84rem}
.training-reader-unified .ref-fs-mobile-close{display:inline-flex!important;min-height:32px;height:32px;padding:4px 8px;border:1px solid var(--reader-line);border-radius:5px;background:#fff;font-size:.7rem;color:#526a7c}
.training-reader-unified .ref-fs-sidebar-tools{position:static;display:flex;justify-content:space-between;gap:4px;padding:0;background:none;border:0}
.training-reader-unified .ref-fs-outline-tools{display:flex;gap:4px}
.training-reader-unified .ref-fs-tool,.training-reader-unified .ref-fs-width-button{font-size:12px;line-height:1.25;min-height:30px;height:30px;padding:4px 6px;border-radius:5px;background:#fff}
.training-reader-unified .ref-fs-width-tools{display:flex;gap:2px}
.training-reader-unified .ref-fs-outline{display:flex;flex-direction:column;gap:3px;overflow:visible;max-height:none;margin:0;padding:0}












.training-reader-unified .ref-fs-resizer{grid-column:2;grid-row:2;position:relative;inset:auto;width:6px;height:100%;padding:0;min-width:0;border:0;background:transparent;touch-action:none;cursor:col-resize}
.training-reader-unified .ref-fs-resizer:hover{background:#bad8dc}
.training-reader-unified .ref-viewer[data-plan-open="0"] .ref-fs-resizer{display:none}
.training-reader-unified .ref-stage,.training-reader-unified .ref-viewer[data-plan-open="0"] .ref-stage{grid-column:3!important;grid-row:2;display:grid!important;grid-template-rows:2px minmax(0,1fr) auto;height:100%;min-height:0;max-height:none;width:100%;min-width:0;position:relative;inset:auto;overflow:visible;border:1px solid var(--reader-line);border-radius:10px;background:#fff;box-shadow:none}
.training-reader-unified .ref-stage-head{padding:0;min-height:0;height:2px;gap:0;border:0;overflow:hidden;border-radius:10px 10px 0 0;background:none}
.training-reader-unified .ref-progress-bar{display:block!important;height:2px;margin:0;border-radius:0;background:#edf3f5}
.training-reader-unified .ref-progress-bar>span{background:#27848b}
.training-reader-unified .ref-stage-body{display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start!important;gap:0;min-height:0;max-height:none;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;padding:18px clamp(14px,2.3vw,38px)}
.training-reader-unified #module-screen{width:100%;max-width:none;min-width:0;flex:0 0 auto;margin-block:0;outline:0;display:block}
.training-reader-unified .ref-screen-card{width:100%;max-width:1040px;margin:0 auto;padding:0;gap:12px;border:0;border-radius:0;background:transparent;box-shadow:none}
.training-reader-unified .ref-viewer[data-wide-mode="1"] .ref-screen-card{max-width:1440px}
.training-reader-unified .ref-screen-header{gap:7px;padding:0;margin-bottom:5px}
.training-reader-unified .ref-screen-title{font-size:1.55em;line-height:1.2;margin:0;text-align:center;justify-content:center}
.training-reader-unified .ref-screen-text{max-width:100%;width:100%;line-height:1.65;gap:11px;text-align:left}
.training-reader-unified .ref-screen-text p{margin:0;line-height:inherit;text-align:left}
.training-reader-unified :is(img,audio,video,iframe){max-width:100%}
.training-reader-unified .reader-document-scroll{max-width:100%;width:100%;overflow:auto;overscroll-behavior:contain}
.training-reader-unified .reader-document-scroll table{width:100%;border-collapse:collapse;min-width:360px;font-size:.9em}
.training-reader-unified .reader-document-scroll :is(th,td){padding:8px 10px;border:1px solid var(--reader-line);text-align:left;vertical-align:top}
.training-reader-unified .reader-document-scroll th{background:#f0f5f7;font-weight:700}
.training-reader-unified #module-status{font-size:.78rem;line-height:1.4;flex:none;max-width:1040px;margin:8px auto 0}
.training-reader-unified #module-status:empty{display:none}
.training-reader-unified .ref-nav-wrap{position:static;inset:auto;min-height:0;margin:0;padding:5px 8px;border-top:1px solid var(--reader-line);border-radius:0 0 10px 10px;background:#fff;z-index:10}
.training-reader-unified .ref-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;max-width:none;min-height:36px;width:100%;padding:0;margin:0;border:0;box-shadow:none;background:none}
.training-reader-unified .ref-nav-left,.training-reader-unified .ref-nav-center,.training-reader-unified .ref-nav-right{position:static;transform:none;min-width:0;display:flex;align-items:center;gap:6px}
.training-reader-unified .ref-nav-left{justify-content:flex-start}
.training-reader-unified .ref-nav-center{justify-content:center;flex-direction:column;gap:2px}
.training-reader-unified .ref-nav-right{justify-content:flex-end}
.training-reader-unified .ref-nav-progress{display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap;font-size:.69rem;line-height:1.3}
.training-reader-unified .ref-stage-note{font-size:.69rem;line-height:1.3;min-height:0}
.training-reader-unified .ref-nav-button{min-height:44px;height:auto;width:auto;max-width:100%;min-width:0;padding:6px 11px;gap:5px;border-radius:6px;font-size:.8rem;line-height:1.25;box-shadow:none;white-space:nowrap}
.training-reader-unified .ref-exam-indicator{display:flex;min-height:0;padding:0;background:none;border:0;font-size:.7rem}
.training-reader-unified .ref-exam-indicator[hidden]{display:none}
.training-reader-unified .ref-viewer:is(:fullscreen,.is-fullscreen){position:fixed!important;inset:0!important;width:100vw;height:100dvh;max-height:none;min-height:0;padding:8px;overflow:hidden;background:#f5f8fa;z-index:3000;grid-template-rows:54px minmax(0,1fr)}
.training-reader-unified .ref-viewer:is(:fullscreen,.is-fullscreen) .ref-stage,.training-reader-unified .ref-viewer:is(:fullscreen,.is-fullscreen) .ref-fullscreen-shell-inner{height:100%;min-height:0;max-height:100%}
body.reader-fullscreen{overflow:hidden}
.training-reader-unified .ref-plan-backdrop[hidden]{display:none!important}
.training-reader-unified button:focus-visible,.training-reader-unified summary:focus-visible,.training-reader-unified a:focus-visible{outline:3px solid #61b6c0;outline-offset:2px}
@media(max-width:1100px){
 .training-reader-unified .ref-viewer,.training-reader-unified .ref-viewer[data-plan-open="0"]{grid-template-columns:minmax(0,1fr)!important;column-gap:0}
 .training-reader-unified .ref-stage,.training-reader-unified .ref-viewer[data-plan-open="0"] .ref-stage{grid-column:1!important}
 .training-reader-unified .ref-fullscreen-shell,.training-reader-unified .ref-viewer[data-plan-open="0"] .ref-fullscreen-shell{display:none;position:fixed!important;inset:0 auto 0 0!important;width:min(350px,88vw)!important;min-width:0!important;height:100dvh;max-height:100dvh;z-index:3020;box-shadow:12px 0 50px #153e5030;border-radius:0;overflow:hidden!important}
 .training-reader-unified .ref-fullscreen-shell[data-mobile-open="1"]{display:block!important}
 .training-reader-unified .ref-fs-resizer,.training-reader-unified .ref-fs-width-tools{display:none!important}
 .training-reader-unified .ref-plan-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:3010;background:#16374770;border:0;width:100vw;height:100dvh}
 .training-reader-unified .ref-stage-note{display:none}
 .training-reader-unified .ref-fs-sidebar-card{padding:12px}
 .training-reader-unified .ref-fs-sidebar-head{position:sticky;top:0;background:#f9fbfc;z-index:4;padding-block:4px}
 
}
@media(max-width:760px){
 .training-reader-unified .ref-viewer,.training-reader-unified .ref-viewer:is(:fullscreen,.is-fullscreen){grid-template-rows:52px minmax(0,1fr)}
 .training-reader-unified .reader-toolbar{gap:3px;padding:3px 4px!important}
 .training-reader-unified .reader-toolbar .reader-tool-label{display:none!important}
 .training-reader-unified .reader-toolbar>button,.training-reader-unified .reader-toolbar>a,.training-reader-unified .reader-options>summary{width:44px;min-width:44px;height:44px;min-height:44px;padding:4px;gap:0;font-size:1.1rem}
 .training-reader-unified .reader-toolbar h1{font-size:.84rem!important;margin-inline:1px}
 .training-reader-unified .ref-stage-body{padding:14px 10px}
 .training-reader-unified .ref-screen-title{font-size:1.25em}
 .training-reader-unified .ref-screen-text{font-size:.94em;line-height:1.5}
 .training-reader-unified .ref-highlights,.training-reader-unified .ref-visual-grid,.training-reader-unified .ref-options.is-options-grid{grid-template-columns:minmax(0,1fr)!important}
 .training-reader-unified .ref-nav-wrap{padding:5px}
 .training-reader-unified .ref-nav{gap:3px}
 .training-reader-unified .ref-nav-button{padding:7px 8px;font-size:.75rem;white-space:nowrap;min-height:44px}
 .training-reader-unified .ref-nav-button>span{display:inline!important}
 .training-reader-unified .ref-nav-progress{display:flex;font-size:.7rem}
 .training-reader-unified .ref-nav-center{min-width:0}
 .training-reader-unified .ref-display-panel{position:fixed;right:10px;top:100px;max-height:calc(100dvh - 150px);width:min(300px,calc(100vw - 20px))}
 .training-reader-unified .ref-display-panel>button,.training-reader-unified .ref-display-panel>a,.training-reader-unified .ref-font-btn{min-height:44px;font-size:14px}
 .training-reader-unified .ref-display-panel .ref-font-controls{height:46px}
 .training-reader-unified .ref-fs-mobile-close{min-height:44px}
 
 .training-reader-unified .ref-viewer:is(:fullscreen,.is-fullscreen){padding:4px}
 .training-reader-unified .ref-viewer:is(:fullscreen,.is-fullscreen) .ref-display-panel{top:60px}
}


/* État visible et secours du lecteur partagé : pas de composant parallèle. */
.training-reader-unified .reader-save-line{display:flex;align-items:center;justify-content:center;gap:8px;min-height:26px;padding:3px 2px;color:var(--reader-muted,#506275);font-size:.72rem;line-height:1.35}
.training-reader-unified #reader-save-state{min-width:0;overflow-wrap:anywhere}
.training-reader-unified #reader-save-state[data-state="error"]{color:#9b2828;font-weight:600}
.training-reader-unified .reader-save-line button,.training-reader-unified .reader-practice-tools button{border:1px solid var(--reader-line,#cbd5df);border-radius:6px;background:#fff;color:#174657;padding:5px 9px;font:inherit;cursor:pointer}
.training-reader-unified .reader-save-line [hidden]{display:none}
.training-reader-unified .reader-practice-tools{max-width:1040px;margin:18px auto 0;display:flex;justify-content:flex-end;font-size:.8rem}
.training-reader-unified .reader-recovery-choice{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;line-height:1.4;white-space:normal}
.training-reader-unified .reader-recovery-choice input{flex:none;width:18px;height:18px}
.training-reader-unified .ref-display-panel small{font-size:.72rem;white-space:normal;line-height:1.4;color:#526777}
.training-reader-unified .ref-display-panel form{margin:0}
.training-reader-unified .ref-display-panel form button{width:100%;min-height:40px;border:1px solid var(--reader-line);background:white;border-radius:6px;color:inherit}
@media(max-width:760px){
 .training-reader-unified .reader-save-line{font-size:.7rem;align-items:center}
 .training-reader-unified .reader-save-line button{min-height:32px;flex:none}
 .training-reader-unified .ref-question :is(input:not([type=radio]):not([type=checkbox]),select,textarea),.training-reader-unified #submission-answer{font-size:16px;max-width:100%}
 .training-reader-unified .reader-practice-tools button{min-height:44px}
 .training-reader-unified .reader-toolbar h1{font-size:.9rem!important;line-height:1.25}
}

/* Shared reader outline: one visual owner, two ordinary levels, authored third level optional. */
.training-reader-unified .ref-fs-root{display:none}
.training-reader-unified .ref-fs-section{display:block;margin:0;padding:0;border:0}
.training-reader-unified .ref-fs-section::before{display:none}
.training-reader-unified .ref-fs-section-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:0;min-height:38px}
.training-reader-unified .ref-fs-section-toggle{display:grid;place-items:center;width:28px;height:36px;min-height:0;padding:0;border:0;border-radius:6px;background:transparent;color:#627088;cursor:pointer}
.training-reader-unified .ref-fs-chevron{display:block;width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform .12s}
.training-reader-unified .ref-fs-chevron.is-open{transform:rotate(45deg)}
.training-reader-unified .ref-fs-section-title,.training-reader-unified .ref-fs-direct-section{display:grid;grid-template-columns:minmax(24px,max-content) minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:38px;height:auto;padding:8px;border:0;border-radius:7px;box-shadow:none;background:transparent;color:#24334b;font-family:inherit;font-weight:600;font-size:.875rem;line-height:1.35;text-align:left;cursor:pointer;transition:background .12s}
.training-reader-unified .ref-fs-direct-section{padding-left:36px}
.training-reader-unified .ref-fs-order{display:inline;font-size:.8rem;line-height:1.35;font-weight:600;color:#66758b;min-width:24px;width:auto;height:auto;background:none;border:0;padding:0;border-radius:0}
.training-reader-unified .ref-fs-label{font-size:.875rem;line-height:1.35;font-weight:600;white-space:normal;overflow-wrap:break-word;text-align:left;min-width:0}
.training-reader-unified .ref-fs-screen-list{display:grid;gap:2px;margin:1px 0 5px 40px;padding:2px 0 2px 8px;border-left:1px solid #dce3ed}
.training-reader-unified .ref-fs-screen-list[hidden]{display:none}
.training-reader-unified .ref-fs-screen-btn{display:grid;grid-template-columns:minmax(30px,max-content) minmax(0,1fr) auto;align-items:start;gap:8px;width:100%;min-height:36px;height:auto;padding:7px 8px;border:0;border-radius:6px;background:transparent;box-shadow:none;color:#455773;font-family:inherit;font-size:.82rem;line-height:1.4;text-align:left;cursor:pointer}
.training-reader-unified .ref-fs-screen-text{min-width:0;white-space:normal;overflow-wrap:break-word;font-size:inherit;font-weight:450;line-height:inherit}
.training-reader-unified .ref-fs-screen-prefix{display:inline;align-self:start;min-width:30px;width:auto;height:auto;min-height:0;padding:0;background:none;border:0;border-radius:0;color:#75839a;font-family:inherit;font-weight:500;font-size:.75rem;line-height:1.5;white-space:nowrap}
.training-reader-unified :is(.ref-fs-section-title,.ref-fs-direct-section,.ref-fs-screen-btn,.ref-fs-section-toggle):hover:not(:disabled){background:#eef2f8;color:#2d4bab}
.training-reader-unified :is(.ref-fs-screen-btn,.ref-fs-direct-section).is-active{background:#eaf0ff;color:#2d49a6;box-shadow:inset 3px 0 #405dd7}
.training-reader-unified .ref-fs-section.is-active>.ref-fs-section-row .ref-fs-section-title{color:#2d49a6}
.training-reader-unified :is(.ref-fs-complete,.ref-fs-screen-state){display:inline-grid;place-items:center;align-self:center;width:16px;height:16px;border-radius:50%;background:#e8f4ef;color:#216849;font-size:.63rem;font-weight:600}
.training-reader-unified .ref-fs-lock{display:block;width:10px;height:9px;align-self:center;border:1px solid currentColor;border-radius:2px;position:relative;opacity:.7;margin:3px}
.training-reader-unified .ref-fs-lock::before{content:'';position:absolute;width:6px;height:5px;left:1px;top:-5px;border:1px solid currentColor;border-bottom:0;border-radius:4px 4px 0 0}
.training-reader-unified :is(.ref-fs-section-title,.ref-fs-direct-section,.ref-fs-screen-btn):disabled{opacity:.55;cursor:not-allowed}
.training-reader-unified :is(.ref-fs-section-title,.ref-fs-direct-section,.ref-fs-screen-btn,.ref-fs-section-toggle):focus-visible{outline:2px solid #405dd7;outline-offset:1px}
@media(pointer:coarse){.training-reader-unified :is(.ref-fs-section-title,.ref-fs-direct-section,.ref-fs-screen-btn,.ref-fs-section-toggle){min-height:44px}.training-reader-unified .ref-fs-section-row{grid-template-columns:32px minmax(0,1fr)}.training-reader-unified .ref-fs-section-toggle{width:32px}}
