/* Linkelia v3.1.5 — 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%;
  --fs-nav-width:300px;
  color:var(--reader-text);
  background:linear-gradient(180deg,#f7f9fd 0,#fff 210px);
  padding:18px 0 34px;
}
.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{width:min(1680px,calc(100% - 24px));margin:0 auto;display:grid;gap:12px}
.reader-intro-v310{
  display:grid;
  grid-template-columns:minmax(140px,1fr) minmax(0,3fr) minmax(140px,1fr);
  align-items:center;
  min-height:52px;
  padding:8px 16px;
  border:1px solid var(--reader-line);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 9px 30px rgba(25,46,82,.05);
  position:relative;
  overflow:hidden;
}
.reader-intro-v310::after{content:"";position:absolute;inset:auto 14px 0;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--reader-blue),var(--reader-violet),var(--reader-cyan))}
.reader-return-v310{justify-self:start;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 10px;border-radius:10px;text-decoration:none;color:#24476f;font-weight:800;font-size:.88rem}
.reader-return-v310:hover{background:#f0f5ff;color:#173a66}
.reader-title-v310{text-align:center;min-width:0;padding:0 12px}
.reader-title-v310 h1{margin:0;color:var(--reader-ink);font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.3;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;
  align-items:stretch;
  border-radius:22px;
  transition:grid-template-columns .2s ease;
  isolation:isolate;
}
.ref-viewer[data-plan-open="1"]{grid-template-columns:var(--fs-nav-width) 10px minmax(0,1fr)}
.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{height:100%;min-width:var(--fs-nav-width);padding-right:8px}
.ref-fs-sidebar-card{
  height:100%;
  max-height:calc(100vh - 150px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--reader-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 36px rgba(26,51,88,.09);
}
.ref-fs-sidebar-head{display:flex;align-items:center;justify-content:flex-end;min-height:38px;padding:5px 7px 3px;border-bottom:1px solid #edf1f6}
.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{width:29px;height:29px;border:1px solid #dce5f0;border-radius:9px;background:#fff;color:#31506f;font-size:1.05rem;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;gap:7px;padding:6px 8px;border-bottom:1px solid #edf1f6;background:#fbfcff}.ref-fs-outline-tools,.ref-fs-width-tools{display:flex;align-items:center;gap:4px}.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;width:25px;height:25px;padding:0;border:1px solid #dbe5f1;border-radius:8px;background:#fff;color:#355777;font-size:.82rem;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{min-height:25px;padding:3px 7px;border:1px solid #dbe5f1;border-radius:8px;background:#fff;color:#45617f;font-size:.62rem;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;gap:6px;margin:7px 8px 5px;padding:0 8px;border:1px solid #dce5f0;border-radius:10px;background:#fff;color:#6b8097;box-shadow:0 3px 12px rgba(30,56,91,.035)}
.ref-fs-search:focus-within{border-color:#8ca8e8;box-shadow:0 0 0 3px rgba(63,92,255,.10)}
.ref-fs-search-icon{font-size:.9rem;line-height:1}
.ref-fs-search input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:0;background:transparent;color:#284761;font-size:.68rem}
.ref-fs-search input::placeholder{color:#8a9caf}
.ref-fs-search button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:7px;background:#eef3fb;color:#526e8c;font-size:.9rem}
.ref-fs-search button:hover{background:#e2eaff;color:#284f78}
.ref-fs-outline{flex:1;overflow:auto;padding:5px 6px 9px;scrollbar-width:thin;scrollbar-color:#cbd7e6 transparent}
.ref-fs-section{display:grid;gap:1px;padding:2px 0}
.ref-fs-section+.ref-fs-section{border-top:1px solid #edf1f6}
.ref-fs-section-row{display:grid;grid-template-columns:25px minmax(0,1fr);gap:4px;align-items:center}
.ref-fs-section-toggle{width:23px;height:23px;border:0;border-radius:8px;background:#eef3fb;color:#315a83;font-weight:900}
.ref-fs-section-toggle:hover{background:#e2eaff}
.ref-fs-section-title,
.ref-fs-direct-section{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:6px;border:0;border-radius:10px;background:transparent;padding:5px 6px;text-align:left;color:#294966;font-weight:850}
.ref-fs-section-title:hover,.ref-fs-direct-section:hover{background:#f2f6fc}
.ref-fs-direct-section.is-active,.ref-fs-section.is-active>.ref-fs-section-row .ref-fs-section-title{background:linear-gradient(135deg,#edf1ff,#eefcff);color:#183f6d}
.ref-fs-order{display:grid;place-items:center;min-width:26px;height:24px;padding:0 5px;border:1px solid #d8e2ff;border-radius:8px;background:linear-gradient(135deg,#edf2ff,#edfaff);color:#3658d7;font-size:.68rem;font-weight:950;line-height:1}
.ref-fs-label{min-width:0;font-size:.78rem;line-height:1.2;font-weight:900;letter-spacing:-.008em}
.ref-fs-screen-list{display:grid;gap:1px;margin-left:26px;padding:1px 0 3px}
.ref-fs-screen-btn{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:6px;align-items:start;border:1px solid transparent;border-radius:9px;background:transparent;padding:5px 6px;text-align:left;color:#526a84;font-size:.67rem;line-height:1.28}
.ref-fs-screen-btn:hover{background:#f7f9fd;border-color:#e3eaf3;color:#284b70}
.ref-fs-screen-btn.is-active{background:#fff;border-color:#9cb5e2;color:#173e69;box-shadow:0 5px 15px rgba(40,78,128,.08)}
.ref-fs-screen-prefix{display:inline-flex;align-items:center;justify-content:center;min-height:21px;padding:2px 5px;border-radius:7px;background:#f0f4ff;color:#3c5fd2;font-size:.66rem;font-weight:950;line-height:1}
.ref-fs-screen-text{min-width:0;font-size:.69rem;line-height:1.25;font-weight:650}
.ref-fs-complete,.ref-fs-screen-state{display:grid;place-items:center;align-self:center;width:18px;height:18px;border-radius:999px;background:#e9f9f2;color:#087852;font-size:.62rem;font-weight:950}
.ref-fs-screen-btn.is-complete:not(.is-active) .ref-fs-screen-prefix{background:#edf9f4;color:#087852}
.ref-fs-screen-btn.is-active .ref-fs-screen-prefix{background:#e9efff;color:#294fc6}
.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{opacity:.72;color:#60758d;filter:none}
.ref-fs-resizer{grid-column:2;width:10px;padding:0;border:0;background:transparent;cursor:col-resize;position:relative;touch-action:none}
.ref-fs-resizer::after{content:"";position:absolute;inset:20px 3px;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;
  grid-template-rows:auto auto auto;
  align-content:start;
  overflow:hidden;
  border:1px solid var(--reader-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 46px rgba(25,48,86,.08);
}
.ref-stage-head{display:grid;border-bottom:1px solid #e8eef6;background:linear-gradient(180deg,#fff,#fbfcff)}
.ref-stage-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:8px 14px}
.ref-toolbar-actions{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;padding:4px;border:1px solid #dce6f1;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(27,52,89,.06)}
.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;gap:6px;min-height:34px;padding:6px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#345675;font-size:.79rem;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{padding-inline:13px;border-color:#90d9e3;background:linear-gradient(135deg,#e9fbff,#edf3ff);color:#12617c;box-shadow:0 5px 14px rgba(20,147,174,.10)}
.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;padding-inline:13px}
.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;height:34px;padding:2px;border-left:1px solid #e3e9f1;border-right:1px solid #e3e9f1}
.ref-font-btn{height:29px;min-width:32px;padding:0 7px;border:0;border-radius:8px;background:transparent;color:#365777;font-size:.73rem;font-weight:900}
.ref-font-btn.is-reset{min-width:52px;color:#677b92;font-size:.68rem}
.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{height:3px;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;padding:14px clamp(12px,2vw,28px) 15px;background:#fff;font-size:var(--reader-font-percent)}
#module-screen{width:100%;min-width:0}
.ref-screen-card{width:min(1220px,100%);margin:0 auto;display:grid;gap:11px}
.ref-viewer[data-wide-mode="1"] .ref-screen-card{width:min(1500px,100%)}
.ref-screen-header{display:grid;gap:4px;text-align:left}
.ref-screen-title{display:flex;align-items:flex-start;gap:9px;margin:0;color:var(--reader-ink);font-size:1.18em;line-height:1.35;font-weight:900;letter-spacing:-.015em}
.ref-screen-legal-number{flex:0 0 auto;display:inline-grid;place-items:center;min-width:38px;height:30px;margin-top:.02em;padding:0 8px;border:1px solid #c8d8f4;border-radius:10px;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;gap:6px;color:var(--reader-text);font-size:.94em;line-height:1.52}
.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));gap:9px}
.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;padding:11px 12px;border:1px solid #e0e8f2;border-radius:13px;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;padding:11px 13px;border:1px solid #bde4e6;border-radius:13px;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{width:min(1320px,100%);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;margin-top:2px;padding:10px;border:1px solid #d7e4f5;border-radius:16px;background:linear-gradient(135deg,#f7f9ff,#f5fcff)}
.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;box-shadow:0 6px 18px rgba(31,58,93,.04)}
.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;transition:border-color .14s ease,background .14s ease,transform .14s ease}
.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-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-wrap{border-top:1px solid #e8eef5;background:#fbfcff;padding:9px 12px}
.ref-nav{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:10px;width:min(980px,100%);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;min-width:122px;min-height:40px;padding:8px 14px;border:1px solid #d5e0ec;border-radius:11px;background:#fff;color:#294b6c;font-size:.78rem;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;padding:8px}
.ref-viewer:fullscreen .ref-stage,.ref-viewer.is-fullscreen .ref-stage{height:calc(100vh - 16px);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%}
.ref-viewer:fullscreen .ref-fs-sidebar-card,.ref-viewer.is-fullscreen .ref-fs-sidebar-card{max-height:calc(100vh - 16px)}

.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}
  .training-reader-shell-v310{width:min(100% - 12px,1680px)}
  .reader-intro-v310{grid-template-columns:auto minmax(0,1fr) auto;padding-inline:10px}
  .reader-intro-spacer-v310{width:58px}
  .reader-return-v310 span:last-child{display:none}
  .ref-viewer,.ref-viewer[data-plan-open="1"]{display:block}
  .ref-fullscreen-shell{position:fixed;inset:0;z-index:10020;display:block;opacity:0;visibility:hidden;pointer-events:none;background:rgba(17,35,59,.48);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{width:min(88vw,380px);min-width:0;height:100%;padding:8px;background:transparent;transform:translateX(-104%);transition:transform .2s ease}
  .ref-viewer[data-plan-open="1"] .ref-fullscreen-shell-inner{transform:translateX(0)}
  .ref-fs-sidebar-card{max-height:none;height:100%;border-radius:16px}
  .ref-fs-search{margin-top:6px}
  .ref-fs-label{font-size:.76rem}
  .ref-fs-screen-btn{font-size:.69rem}
  .ref-fs-screen-text{font-size:.69rem}
  .ref-fs-resizer{display:none}
  .ref-stage{display:grid;width:100%}
  .ref-stage-toolbar{justify-content:flex-start;overflow-x:auto;padding:7px 8px;scrollbar-width:none}
  .ref-toolbar-actions{flex-wrap:nowrap;justify-content:flex-start;min-width:max-content}
  .ref-stage-body{padding:12px 10px 14px}
  .ref-screen-card{gap:12px}
  .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{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}
  .ref-nav-button{min-width:44px;padding:8px 10px}
  .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-feedback-toggle .ref-tool-text,.ref-mobile-plan-toggle .ref-tool-text{display:inline}
  .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-font-controls{height:32px}.ref-font-btn{height:27px;min-width:29px}.ref-font-btn.is-reset{min-width:47px}
  .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}
}
