/* Crew Institut — interface inspirée du langage visuel AF Partner Connect. */
.scp-root {
  --scp-blue-950: #061522;
  --scp-blue-900: #071c2b;
  --scp-blue-850: #0a2233;
  --scp-blue-800: #0d2c41;
  --scp-blue-700: #0b4f7c;
  --scp-blue-600: #0a69a8;
  --scp-blue-500: #1284c5;
  --scp-cyan: #70cff4;
  --scp-white: #f7fbff;
  --scp-text: #dbe8f1;
  --scp-muted: #8ca5b5;
  --scp-line: rgba(125, 173, 201, .19);
  --scp-panel: rgba(12, 37, 54, .92);
  --scp-panel-2: rgba(16, 48, 69, .86);
  --scp-success: #39c994;
  --scp-warning: #ffb642;
  --scp-danger: #f0656b;
  --scp-shadow: 0 18px 50px rgba(0, 0, 0, .26);
  --amber: #ffb400;
  --red: #e5484d;
  --green: #34d399;
  --violet: #9b87e0;
  --orange: #e08a3e;
  --cyan: #4fc1d9;
  --blue: #4f8fe0;
  --teal: #2bb3a3;
  --indigo: #7c7ceb;
  position: relative;
  width: 100%;
  max-width: none !important;
  min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
  margin-left: 0;
  margin-right: 0;
  color: var(--scp-text);
  background:
    radial-gradient(circle at 80% -10%, rgba(11, 105, 168, .22), transparent 32%),
    linear-gradient(135deg, var(--scp-blue-950), #06111c 55%, #071c2a);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.45;
  overflow-x: clip;
  isolation: isolate;
  color-scheme: dark;
}
.scp-root *, .scp-root *::before, .scp-root *::after { box-sizing: border-box; }
.scp-root button, .scp-root input, .scp-root select { font: inherit; }
.scp-root button { color: inherit; }
.scp-root button:focus-visible, .scp-root input:focus-visible, .scp-root select:focus-visible {
  outline: 3px solid rgba(112, 207, 244, .48);
  outline-offset: 2px;
}
.scp-root [hidden] { display: none !important; }
.scp-app { min-height: inherit; }
.scp-topbar {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 40;
  height: 74px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 0 26px;
  background: linear-gradient(90deg, #073d68, #075287 58%, #065c91);
  border-bottom: 1px solid rgba(164, 218, 247, .27);
  box-shadow: 0 8px 25px rgba(0, 0, 0, .22);
}
.scp-connection {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 13px;
  color: rgba(255,255,255,.82);
}
.scp-live-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--scp-success); box-shadow: 0 0 0 5px rgba(57,201,148,.13); }
.scp-brand { border: 0; background: transparent; color: inherit; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; }
.scp-brand-mark {
  width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22);
}
.scp-brand-mark svg { width: 23px; height: 23px; }
.scp-brand-copy strong { display: block; font-size: 18px; letter-spacing: -.02em; color: white; }
.scp-brand-copy span { display: block; font-size: 12px; color: rgba(255,255,255,.68); margin-top: 2px; }
.scp-top-actions { display: flex; gap: 8px; align-items: center; }
.scp-install-btn{border-color:rgba(112,207,244,.45);background:rgba(4,39,65,.42)}
.scp-offline-btn{border-color:rgba(112,207,244,.45);background:rgba(4,39,65,.58);white-space:nowrap}
.scp-offline-btn.is-ready{border-color:rgba(76,214,146,.58);background:rgba(28,112,79,.36);color:#caffdf}
.scp-offline-btn.is-downloading{border-color:rgba(255,199,92,.58);background:rgba(126,82,13,.36);color:#ffe4a8}
.scp-icon-btn, .scp-btn {
  border: 1px solid var(--scp-line);
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  color: var(--scp-white);
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.scp-icon-btn { width: 39px; height: 39px; display: grid; place-items: center; }
.scp-top-reset { display: inline-flex; align-items: center; gap: 7px; }
.scp-top-reset svg { width: 16px; height: 16px; }
.scp-icon-btn:hover, .scp-btn:hover { transform: translateY(-1px); border-color: rgba(112,207,244,.55); }
.scp-layout { display: grid; grid-template-columns: minmax(0, 1fr); width:100%; min-height: calc(100vh - 74px - var(--wp-admin--admin-bar--height, 0px)); }
.scp-sidebar {
  position: sticky;
  top: calc(74px + var(--wp-admin--admin-bar--height, 0px));
  height: calc(100vh - 74px - var(--wp-admin--admin-bar--height, 0px));
  display: flex;
  flex-direction: column;
  padding: 24px 15px 18px;
  border-right: 1px solid var(--scp-line);
  background: rgba(10, 32, 47, .87);
  backdrop-filter: blur(14px);
}
.scp-nav-label { padding: 0 10px 10px; font-size: 12px; font-weight: 800; letter-spacing: .18em; color: #6f91a5; text-transform: uppercase; }
.scp-nav { display: grid; gap: 7px; }
.scp-nav-btn {
  width: 100%; min-height: 54px; display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; border: 1px solid transparent; border-radius: 11px;
  background: transparent; text-align: left; cursor: pointer;
}
.scp-nav-btn:hover { background: rgba(20, 86, 126, .22); }
.scp-nav-btn.is-active { background: linear-gradient(135deg, rgba(9,105,168,.74), rgba(10,75,122,.74)); border-color: rgba(112,207,244,.28); }
.scp-nav-icon { width: 31px; height: 31px; border-radius: 9px; display: grid; place-items: center; background: rgba(255,255,255,.07); flex: none; }
.scp-nav-icon svg { width: 17px; height: 17px; }
.scp-nav-text strong { display: block; font-size: 12px; }
.scp-nav-text span { display: block; margin-top: 2px; font-size: 12px; color: var(--scp-muted); }
.scp-sidebar-note { margin-top: auto; padding: 14px; border: 1px solid var(--scp-line); border-radius: 12px; background: rgba(18,56,79,.72); }
.scp-sidebar-note strong { display: block; font-size: 13px; color: var(--scp-white); }
.scp-sidebar-note p { margin: 6px 0 0; font-size: 12px; color: var(--scp-muted); }
.scp-main { width:100%; min-width: 0; padding: 28px clamp(22px, 3vw, 48px) 80px; }
.scp-page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--scp-line); }
.scp-eyebrow { margin: 0 0 7px; color: var(--scp-cyan); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.scp-page-title { margin: 0; color: var(--scp-white); font-size: clamp(25px, 3vw, 38px); line-height: 1.12; letter-spacing: -.035em; }
.scp-page-sub { margin: 8px 0 0; max-width: 760px; color: var(--scp-muted); font-size: 12px; }
.scp-btn { min-height: 41px; padding: 9px 14px; font-size: 13px; font-weight: 750; }
.scp-btn-primary { background: linear-gradient(135deg, var(--scp-blue-600), var(--scp-blue-500)); border-color: rgba(112,207,244,.35); }
.scp-btn-secondary { background: var(--scp-panel-2); }
.scp-btn-danger { background: rgba(240,101,107,.12); border-color: rgba(240,101,107,.32); color: #ffafb3; }
.scp-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.scp-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.scp-kpi { min-height: 86px; display: flex; align-items: center; gap: 13px; padding: 16px; border: 1px solid var(--scp-line); border-radius: 13px; background: var(--scp-panel); box-shadow: 0 8px 25px rgba(0,0,0,.08); }
.scp-kpi-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: none; border-radius: 11px; background: rgba(18,132,197,.1); color: var(--scp-cyan); }
.scp-kpi-icon svg { width: 21px; height: 21px; }
.scp-kpi-value { display: block; color: var(--scp-white); font-size: 25px; font-weight: 800; line-height: 1; }
.scp-kpi-label { display: block; margin-top: 6px; color: var(--scp-muted); font-size: 12px; }
.scp-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 23px; border: 1px solid rgba(106,145,255,.25); border-radius: 15px; background: linear-gradient(120deg, rgba(13,54,96,.95), rgba(31,34,87,.88)); box-shadow: var(--scp-shadow); }
.scp-hero h2 { margin: 5px 0 6px; color: white; font-size: 21px; }
.scp-hero p { margin: 0; max-width: 680px; color: #b9c8d5; font-size: 12px; }
.scp-hero-actions { display: flex; gap: 9px; }
.scp-section { margin-top: 27px; }
.scp-section-head { display: flex; justify-content: space-between; align-items: end; gap: 15px; margin-bottom: 13px; }
.scp-section-head h2 { margin: 0; color: var(--scp-white); font-size: 18px; }
.scp-section-head p { margin: 4px 0 0; color: var(--scp-muted); font-size: 12px; }
.scp-theme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.scp-theme-card {
  --theme-color: var(--scp-blue-500);
  position: relative; min-height: 193px; padding: 18px; overflow: hidden;
  border: 1px solid var(--scp-line); border-radius: 14px; background: linear-gradient(145deg, rgba(14,43,61,.96), rgba(8,28,42,.96));
  text-align: left; cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.scp-theme-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--theme-color); }
.scp-theme-card::after { content: ""; position: absolute; width: 150px; height: 150px; right: -65px; top: -75px; border-radius: 50%; background: color-mix(in srgb, var(--theme-color) 13%, transparent); }
.scp-theme-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--theme-color) 55%, transparent); box-shadow: 0 16px 35px rgba(0,0,0,.2); }
.scp-theme-top { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; }
.scp-theme-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; background: color-mix(in srgb, var(--theme-color) 13%, transparent); color: var(--theme-color); }
.scp-theme-icon svg { width: 23px; height: 23px; }
.scp-count-badge { padding: 4px 7px; border: 1px solid var(--scp-line); border-radius: 7px; color: var(--scp-muted); font-size: 12px; }
.scp-theme-card h3 { position: relative; z-index: 1; margin: 14px 0 5px; color: var(--scp-white); font-size: 15px; }
.scp-theme-card p { position: relative; z-index: 1; min-height: 32px; margin: 0; color: var(--scp-muted); font-size: 12px; }
.scp-mini-progress { position: relative; z-index: 1; height: 5px; margin: 15px 0 8px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.07); }
.scp-mini-progress > span { display: block; height: 100%; border-radius: inherit; background: var(--theme-color); }
.scp-theme-score { position: relative; z-index: 1; color: var(--scp-muted); font-size: 12px; }
.scp-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); gap: 14px; }
.scp-panel { padding: 18px; border: 1px solid var(--scp-line); border-radius: 14px; background: var(--scp-panel); }
.scp-panel-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.scp-panel-title h3 { margin: 0; color: var(--scp-white); font-size: 13px; }
.scp-gauge { margin-bottom: 13px; }
.scp-gauge:last-child { margin-bottom: 0; }
.scp-gauge-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; font-size: 12px; }
.scp-gauge-head strong { color: #cfe0eb; font-weight: 650; }
.scp-gauge-head span { font-weight: 800; }
.scp-gauge-track { height: 8px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.06); }
.scp-gauge-fill { height: 100%; border-radius: inherit; }
.scp-gauge-sub { margin-top: 4px; color: var(--scp-muted); font-size: 12px; }
.scp-global-score { text-align: center; padding: 17px; border-radius: 13px; background: linear-gradient(145deg, rgba(8,94,146,.2), rgba(22,46,75,.46)); }
.scp-global-score strong { display: block; color: white; font-size: 42px; line-height: 1; }
.scp-global-score span { display: block; margin-top: 8px; color: var(--scp-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .14em; }
.scp-history-list { display: grid; gap: 8px; margin-top: 14px; }
.scp-history-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px 11px; border: 1px solid var(--scp-line); border-radius: 10px; background: rgba(255,255,255,.025); }
.scp-history-row strong { font-size: 12px; color: #dce9f1; }
.scp-history-row span { font-size: 12px; color: var(--scp-muted); }
.scp-empty { padding: 38px 20px; border: 1px dashed var(--scp-line); border-radius: 13px; text-align: center; color: var(--scp-muted); font-size: 13px; }
.scp-back-row { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; }
.scp-qcm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.scp-qcm-card { padding: 17px; border: 1px solid var(--scp-line); border-left: 3px solid var(--theme-color); border-radius: 13px; background: var(--scp-panel); }
.scp-qcm-card-top { display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.scp-qcm-card h3 { margin: 0; color: var(--scp-white); font-size: 14px; }
.scp-status { padding: 4px 8px; border-radius: 99px; font-size: 12px; font-weight: 800; }
.scp-status-done { color: #81e6bd; background: rgba(57,201,148,.12); }
.scp-status-new { color: var(--scp-muted); background: rgba(255,255,255,.06); }
.scp-qcm-summary { margin: 11px 0; color: var(--scp-muted); font-size: 12px; }
.scp-attempts { max-height: 105px; margin: 10px 0; overflow: auto; border-top: 1px solid var(--scp-line); }
.scp-attempt { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid rgba(125,173,201,.09); color: var(--scp-muted); font-size: 12px; }
.scp-qcm-card .scp-btn { width: 100%; }
.scp-quiz-wrap { max-width: 950px; margin: 0 auto; }
.scp-quiz-meta { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 10px; color: var(--scp-muted); font-size: 12px; }
.scp-quiz-meta strong { color: var(--theme-color); text-transform: uppercase; letter-spacing: .08em; }
.scp-progress-segments { display: grid; grid-template-columns: repeat(var(--q-count), minmax(2px, 1fr)); gap: 4px; margin-bottom: 20px; }
.scp-progress-segments span { height: 5px; border-radius: 99px; background: rgba(255,255,255,.07); }
.scp-progress-segments span.is-done { background: var(--theme-color); }
.scp-question-panel { padding: clamp(20px, 3vw, 30px); border: 1px solid var(--scp-line); border-radius: 16px; background: var(--scp-panel); box-shadow: var(--scp-shadow); }
.scp-question { margin: 0 0 22px; color: white; font-size: clamp(17px, 2vw, 23px); line-height: 1.48; }
.scp-options { display: grid; gap: 10px; }
.scp-option { width: 100%; display: flex; align-items: flex-start; gap: 12px; padding: 13px 14px; border: 1px solid var(--scp-line); border-radius: 11px; background: rgba(255,255,255,.025); text-align: left; cursor: pointer; }
.scp-option:hover { border-color: color-mix(in srgb, var(--theme-color) 52%, transparent); background: rgba(255,255,255,.045); }
.scp-option.is-selected { border-color: var(--theme-color); background: color-mix(in srgb, var(--theme-color) 10%, transparent); }
.scp-option-letter { width: 25px; height: 25px; display: grid; place-items: center; flex: none; border: 1px solid var(--scp-line); border-radius: 7px; color: var(--scp-muted); font-size: 12px; font-weight: 800; }
.scp-option.is-selected .scp-option-letter { color: var(--theme-color); border-color: var(--theme-color); }
.scp-option-text { padding-top: 1px; color: #d8e6ee; font-size: 16px; line-height: 1.45; }
.scp-quiz-actions { display: flex; justify-content: flex-end; margin-top: 17px; }
.scp-results-score { display: flex; align-items: center; gap: 18px; margin: 20px 0; padding: 20px; border: 1px solid var(--scp-line); border-radius: 14px; background: var(--scp-panel); }
.scp-score-ring { --score: 0; --score-color: var(--scp-success); width: 110px; height: 110px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--score-color) calc(var(--score) * 1%), rgba(255,255,255,.07) 0); position: relative; flex: none; }
.scp-score-ring::before { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: var(--scp-blue-900); }
.scp-score-ring strong { position: relative; color: white; font-size: 25px; }
.scp-score-copy h2 { margin: 0 0 5px; color: white; font-size: 22px; }
.scp-score-copy p { margin: 0; color: var(--scp-muted); font-size: 13px; }
.scp-mistakes { display: grid; gap: 10px; }
.scp-mistake { padding: 15px; border: 1px solid var(--scp-line); border-left: 3px solid var(--scp-danger); border-radius: 11px; background: var(--scp-panel); }
.scp-mistake h3 { margin: 0 0 10px; color: white; font-size: 12px; }
.scp-answer-line { margin: 4px 0; font-size: 12px; }
.scp-answer-wrong { color: #ff9ca1; }
.scp-answer-right { color: #75deb6; }
.scp-explain { margin-top: 8px; color: var(--scp-muted); font-size: 12px; line-height: 1.55; }
.scp-results-actions { display: flex; gap: 9px; margin-top: 18px; }
.scp-modal-backdrop { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(0,8,14,.78); backdrop-filter: blur(7px); }
.scp-modal { width: min(430px, 100%); padding: 22px; border: 1px solid var(--scp-line); border-radius: 16px; background: #0c2638; box-shadow: 0 30px 90px rgba(0,0,0,.48); }
.scp-modal h2 { margin: 0 0 8px; color: white; font-size: 18px; }
.scp-modal p { margin: 0; color: var(--scp-muted); font-size: 13px; }
.scp-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.scp-toast { position: fixed; right: 22px; bottom: 22px; z-index: 1100; max-width: 360px; padding: 12px 15px; border: 1px solid rgba(112,207,244,.28); border-radius: 11px; background: #0e3851; box-shadow: var(--scp-shadow); color: white; font-size: 12px; }
.scp-footer { margin-top: 28px; padding-top: 15px; border-top: 1px solid var(--scp-line); color: var(--scp-muted); font-size: 12px; text-align: center; }
.scp-mobile-nav { display: none; }
.scp-boot { min-height: 420px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--scp-muted); font-size: 12px; }
.scp-boot-spinner { width: 18px; height: 18px; border: 2px solid rgba(112,207,244,.18); border-top-color: var(--scp-cyan); border-radius: 50%; animation: scp-spin .8s linear infinite; }
.scp-duplicate-notice { padding: 16px; border: 1px solid #c8d8e5; border-radius: 8px; background: #f5f9fc; color: #163449; }
@keyframes scp-spin { to { transform: rotate(360deg); } }
@media (max-width: 1100px) {
  .scp-theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .scp-topbar { grid-template-columns: auto 1fr auto; padding: 0 14px; }
  .scp-connection { font-size: 0; }
  .scp-layout { grid-template-columns: 1fr; }
  .scp-sidebar { display: none; }
  .scp-main { padding: 22px 16px 100px; }
  .scp-mobile-nav { position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 50; display: grid; grid-template-columns: repeat(3, 1fr); padding: 6px; border: 1px solid var(--scp-line); border-radius: 14px; background: rgba(8,31,47,.96); box-shadow: 0 15px 40px rgba(0,0,0,.38); backdrop-filter: blur(12px); }
  .scp-mobile-nav button { min-height: 51px; border: 0; border-radius: 10px; background: transparent; color: var(--scp-muted); font-size: 12px; font-weight: 700; cursor: pointer; }
  .scp-mobile-nav button.is-active { background: rgba(9,105,168,.42); color: white; }
  .scp-toast { bottom: 82px; }
  .scp-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .scp-topbar { height: 64px; }
  .scp-brand-copy strong { font-size: 14px; }
  .scp-brand-copy span { display: none; }
  .scp-brand-mark { width: 36px; height: 36px; }
  .scp-layout { min-height: calc(100vh - 64px - var(--wp-admin--admin-bar--height, 0px)); }
  .scp-page-head { display: block; }
  .scp-page-head > .scp-btn { margin-top: 13px; }
  .scp-kpis { grid-template-columns: 1fr 1fr; }
  .scp-kpi { min-height: 75px; padding: 12px; }
  .scp-kpi-value { font-size: 21px; }
  .scp-hero { grid-template-columns: 1fr; }
  .scp-hero-actions { flex-wrap: wrap; }
  .scp-theme-grid, .scp-qcm-grid { grid-template-columns: 1fr; }
  .scp-results-score { align-items: flex-start; }
  .scp-score-ring { width: 86px; height: 86px; }
  .scp-results-actions { flex-direction: column; }
  .scp-results-actions .scp-btn { width: 100%; }
}
@media (max-width: 420px) {
  .scp-top-actions .scp-btn-label { display: none; }
  .scp-topbar { padding: 0 10px; gap: 8px; }
  .scp-brand { justify-content: flex-start; }
  .scp-kpis { grid-template-columns: 1fr; }
  .scp-question-panel { padding: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .scp-root *, .scp-root *::before, .scp-root *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

.scp-source{margin-top:10px;padding-top:10px;border-top:1px solid rgba(148,163,184,.25);font-size:.82rem;line-height:1.45;color:var(--scp-muted);font-weight:600}


/* Correctif 1.7.0 : corrigé complet, accessibilité et mouvement réduit */
.scp-review-details{margin-top:18px;border:1px solid var(--scp-line);border-radius:13px;background:rgba(8,35,52,.58);overflow:hidden}
.scp-review-details summary{padding:14px 16px;color:var(--scp-white);font-size:14px;font-weight:800;cursor:pointer}
.scp-review-details summary:focus-visible{outline:3px solid var(--scp-cyan);outline-offset:-3px}
.scp-review-list{display:grid;gap:12px;padding:0 14px 14px}
.scp-review-card{padding:14px;border:1px solid rgba(125,173,201,.16);border-radius:11px;background:rgba(8,28,43,.72)}
.scp-review-card h3{margin:0 0 10px;color:var(--scp-white);font-size:14px;line-height:1.45}
.scp-modal :focus-visible,.scp-btn:focus-visible,.scp-option:focus-visible,.scp-nav-btn:focus-visible,.scp-icon-btn:focus-visible{outline:3px solid var(--scp-cyan);outline-offset:3px}
@media (prefers-reduced-motion: reduce){
  .scp-app *, .scp-app *::before, .scp-app *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Parcours Opérationnel — ajout 2.4.0, totalement séparé de l’évaluation */
.scp-btn-game{border-color:rgba(255,190,80,.42);background:linear-gradient(135deg,#8a5a00,#c98200);color:#fff;box-shadow:0 10px 28px rgba(185,112,0,.2)}
.scp-btn-game:hover{filter:brightness(1.08)}
.scp-game-home-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;margin:24px 0;padding:22px;border:1px solid rgba(255,190,80,.25);border-radius:16px;background:linear-gradient(135deg,rgba(112,69,0,.28),rgba(8,42,61,.88));box-shadow:var(--scp-shadow)}
.scp-game-home-card h2{margin:0 0 7px;color:#fff;font-size:20px}.scp-game-home-card p{margin:0;color:var(--scp-muted);font-size:13px;line-height:1.55}
.scp-game-home-stats{display:grid;gap:3px;min-width:155px;padding:12px 15px;border:1px solid rgba(255,190,80,.2);border-radius:12px;background:rgba(0,0,0,.15)}
.scp-game-home-stats strong{color:#ffd28a;font-size:16px}.scp-game-home-stats span{color:var(--scp-muted);font-size:12px}
.scp-game-integrity-note{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(80,190,224,.25);border-left:4px solid var(--scp-cyan);border-radius:12px;background:rgba(28,100,130,.12);color:#cfe3ed;font-size:13px;line-height:1.55}
.scp-game-integrity-note strong{color:#fff}
.scp-game-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.scp-game-kpi{min-height:88px;display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--scp-line);border-radius:13px;background:var(--scp-panel)}
.scp-game-kpi-icon{width:37px;height:37px;display:grid;place-items:center;flex:none;border-radius:10px;background:rgba(255,183,74,.12);color:#ffc66e}.scp-game-kpi-icon svg{width:21px;height:21px}
.scp-game-kpi>span:last-child{display:grid;gap:3px}.scp-game-kpi strong{color:#fff;font-size:17px}.scp-game-kpi span span{color:var(--scp-muted);font-size:12px;line-height:1.35}
.scp-level-progress{margin:14px 0 24px;padding:16px;border:1px solid rgba(255,190,80,.2);border-radius:13px;background:rgba(70,45,0,.13)}
.scp-level-progress-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.scp-level-progress-head strong{color:#fff;font-size:14px}.scp-level-progress-head span{color:#ffd28a;font-size:13px;font-weight:800}
.scp-level-track,.scp-challenge-track{height:8px;margin:11px 0;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.scp-level-track span,.scp-challenge-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c77a00,#ffd071)}
.scp-level-progress p{margin:0;color:var(--scp-muted);font-size:12px}
.scp-game-section{padding:0}.scp-rotation-map{position:relative;display:grid;gap:12px}.scp-rotation-map::before{content:"";position:absolute;left:20px;top:26px;bottom:26px;width:2px;background:linear-gradient(#d98900,rgba(217,137,0,.12));z-index:0}
.scp-mission-card{position:relative;z-index:1;display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:15px;border:1px solid var(--scp-line);border-radius:13px;background:var(--scp-panel)}
.scp-mission-card.is-complete{border-color:rgba(57,201,148,.32);background:rgba(35,109,84,.12)}
.scp-mission-marker{width:42px;height:42px;display:grid;place-items:center;border:2px solid #b86d00;border-radius:50%;background:#163244;color:#ffc86d;font-size:14px;font-weight:900}.scp-mission-marker svg{width:20px;height:20px}.scp-mission-card.is-complete .scp-mission-marker{border-color:var(--scp-success);color:#7fe2bc}
.scp-mission-content{min-width:0}.scp-mission-step{display:block;margin-bottom:3px;color:#e9a945;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.scp-mission-content h3{margin:0 0 4px;color:#fff;font-size:15px}.scp-mission-content p{margin:0;color:var(--scp-muted);font-size:12px}.scp-mission-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.scp-mission-done{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border-radius:8px;background:rgba(57,201,148,.12);color:#80e0bd;font-size:12px;font-weight:800}
.scp-game-footnote{margin:12px 0 0;color:var(--scp-muted);font-size:12px;line-height:1.5}
.scp-challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scp-challenge-card{display:grid;align-content:start;gap:9px;padding:18px;border:1px solid var(--scp-line);border-radius:13px;background:var(--scp-panel)}.scp-challenge-card.is-complete{border-color:rgba(57,201,148,.32);background:rgba(35,109,84,.12)}
.scp-challenge-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:rgba(255,183,74,.12);color:#ffc66e}.scp-challenge-icon svg{width:22px;height:22px}.scp-challenge-card h3{margin:0;color:#fff;font-size:15px}.scp-challenge-card p{margin:0;color:var(--scp-muted);font-size:12px;line-height:1.5}.scp-challenge-card>strong{color:#dceaf1;font-size:12px}
.scp-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.scp-rule-card{padding:14px;border:1px solid var(--scp-line);border-radius:11px;background:rgba(255,255,255,.025)}.scp-rule-card strong{color:#fff;font-size:13px}.scp-rule-card p{margin:6px 0 0;color:var(--scp-muted);font-size:12px;line-height:1.5}
.scp-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.scp-badge-card{display:grid;align-content:start;gap:8px;min-height:178px;padding:16px;border:1px solid var(--scp-line);border-radius:13px;background:var(--scp-panel)}.scp-badge-card.is-locked{opacity:.58;filter:saturate(.45)}.scp-badge-card.is-unlocked{border-color:rgba(255,190,80,.32);background:linear-gradient(145deg,rgba(112,68,0,.15),var(--scp-panel))}.scp-badge-visual{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,183,74,.12);color:#ffc66e}.scp-badge-visual svg{width:23px;height:23px}.scp-badge-card h3{margin:0;color:#fff;font-size:14px}.scp-badge-card p{margin:0;color:var(--scp-muted);font-size:12px;line-height:1.45}.scp-badge-card>strong{margin-top:auto;color:#ffd28a;font-size:12px}
.scp-collection-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.scp-collection-card{display:grid;place-items:center;gap:7px;min-height:125px;padding:12px;border:1px solid var(--scp-line);border-radius:12px;background:var(--scp-panel);text-align:center}.scp-collection-card.is-locked{opacity:.48}.scp-collection-card.is-unlocked{border-color:rgba(80,190,224,.28)}.scp-collection-symbol{min-width:48px;height:48px;display:grid;place-items:center;padding:0 7px;border-radius:50%;background:rgba(80,190,224,.11);color:#78d4ef;font-size:11px;font-weight:900}.scp-collection-card strong{color:#fff;font-size:12px}.scp-collection-card>span:last-child{color:var(--scp-muted);font-size:11px}
.scp-reward-log{padding:4px 16px}.scp-reward-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid rgba(125,173,201,.1)}.scp-reward-row:last-child{border-bottom:0}.scp-reward-row>span{display:grid;gap:3px}.scp-reward-row strong{color:#fff;font-size:12px}.scp-reward-row span span{color:var(--scp-muted);font-size:11px}.scp-reward-row>strong{color:#ffd28a;white-space:nowrap}.scp-game-reset{margin-top:14px}
@media(max-width:1100px){.scp-game-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.scp-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scp-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.scp-mobile-nav{grid-template-columns:repeat(5,1fr)}.scp-mobile-nav button{padding:5px 2px;font-size:10px}.scp-game-home-card{grid-template-columns:1fr}.scp-game-home-stats{min-width:0}.scp-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.scp-game-kpis,.scp-challenge-grid,.scp-badge-grid,.scp-rule-grid{grid-template-columns:1fr}.scp-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scp-level-progress-head{align-items:flex-start;flex-direction:column;gap:4px}.scp-mission-actions .scp-btn{width:100%}.scp-game-home-card .scp-btn{width:100%}}


/* Crew Institut 2.5.0 — robustesse, pagination et accessibilité */
.scp-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}
.scp-error-panel{max-width:760px;margin:48px auto;padding:32px;border:1px solid rgba(229,72,77,.35);border-radius:18px;background:rgba(229,72,77,.06)}
.scp-load-more{display:block;margin:18px auto 6px}
.scp-progress-segments[role="progressbar"]:focus-visible,.scp-level-track[role="progressbar"]:focus-visible,.scp-challenge-track[role="progressbar"]:focus-visible{outline:3px solid var(--scp-focus,#1284c5);outline-offset:3px}

/* Crew Institut 2.6.0 — troisième module autonome « Réglementarité » */
.scp-btn-reglementarite{border-color:rgba(102,197,255,.42);background:linear-gradient(135deg,#075b88,#0d83b9);color:#fff;box-shadow:0 10px 28px rgba(0,105,155,.2)}
.scp-btn-reglementarite:hover{filter:brightness(1.08)}
.scp-reglementarite-home-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;margin:24px 0;padding:22px;border:1px solid rgba(102,197,255,.25);border-radius:16px;background:linear-gradient(135deg,rgba(0,86,132,.26),rgba(8,42,61,.88));box-shadow:var(--scp-shadow)}
.scp-reglementarite-home-card h2{margin:0 0 7px;color:#fff;font-size:20px}
.scp-reglementarite-home-card p{margin:0;color:var(--scp-muted);font-size:13px;line-height:1.55}
.scp-reglementarite-status{display:grid;gap:3px;min-width:155px;padding:12px 15px;border:1px solid rgba(102,197,255,.22);border-radius:12px;background:rgba(0,0,0,.15)}
.scp-reglementarite-status strong{color:#8edcff;font-size:15px}
.scp-reglementarite-status span{color:var(--scp-muted);font-size:12px}
.scp-reglementarite-section{padding:0}
.scp-reglementarite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.scp-reglementarite-card{min-height:142px;padding:18px;border:1px solid rgba(102,197,255,.2);border-radius:13px;background:var(--scp-panel)}
.scp-reglementarite-card strong{color:#fff;font-size:15px}
.scp-reglementarite-card p{margin:8px 0 0;color:var(--scp-muted);font-size:12px;line-height:1.55}
@media(max-width:820px){.scp-mobile-nav{grid-template-columns:repeat(6,1fr)}.scp-reglementarite-home-card{grid-template-columns:1fr}.scp-reglementarite-status{min-width:0}.scp-reglementarite-grid{grid-template-columns:1fr}.scp-reglementarite-home-card .scp-btn{width:100%}}

/* Réglementarité — Désinsectisation 2.7.0 */
.scp-reg-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 4px}
.scp-reg-metric{padding:16px;border:1px solid rgba(102,197,255,.2);border-radius:13px;background:linear-gradient(145deg,rgba(10,57,82,.82),rgba(8,31,46,.92));box-shadow:0 8px 25px rgba(0,0,0,.08)}
.scp-reg-metric strong{display:block;color:#fff;font-size:26px;line-height:1}
.scp-reg-metric span{display:block;margin-top:7px;color:var(--scp-muted);font-size:12px}
.scp-reg-category-grid{display:grid;grid-template-columns:minmax(280px,520px);gap:13px}
.scp-reg-category-card{--theme-color:#66c5ff;position:relative;min-height:215px;padding:20px;overflow:hidden;border:1px solid var(--scp-line);border-radius:16px;background:linear-gradient(145deg,rgba(14,50,70,.98),rgba(7,27,41,.98));text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.scp-reg-category-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--theme-color)}
.scp-reg-category-card::after{content:"";position:absolute;width:190px;height:190px;right:-70px;top:-90px;border-radius:50%;background:color-mix(in srgb,var(--theme-color) 14%,transparent)}
.scp-reg-category-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--theme-color) 58%,transparent);box-shadow:0 16px 38px rgba(0,0,0,.22)}
.scp-reg-category-card h3{position:relative;z-index:1;margin:16px 0 7px;color:#fff;font-size:21px}
.scp-reg-category-card p{position:relative;z-index:1;margin:0;color:var(--scp-muted);font-size:12px;line-height:1.6}
.scp-reg-category-card .scp-theme-top,.scp-reg-category-card .scp-mini-progress,.scp-reg-category-card .scp-theme-score{position:relative;z-index:1}
.scp-reg-topics{padding:18px;border:1px solid rgba(102,197,255,.16);border-radius:14px;background:rgba(7,31,46,.56)}
.scp-reg-topic-list{display:flex;flex-wrap:wrap;gap:8px}
.scp-reg-topic-list span,.scp-reg-coverage span{padding:5px 8px;border:1px solid rgba(102,197,255,.2);border-radius:999px;background:rgba(102,197,255,.07);color:#bfeaff;font-size:11px;font-weight:700}
.scp-reg-integrity-notice{margin-top:18px;padding:14px 16px;border:1px solid rgba(102,197,255,.22);border-left:4px solid #66c5ff;border-radius:12px;background:rgba(8,61,87,.34);color:var(--scp-muted);font-size:12px;line-height:1.55}
.scp-reg-integrity-notice strong{color:#dff5ff}
.scp-reg-coverage{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.scp-reg-qcm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
.scp-reg-qcm-stats span{padding:8px;border:1px solid rgba(125,173,201,.13);border-radius:9px;background:rgba(255,255,255,.025);color:var(--scp-muted);font-size:11px;text-align:center}
.scp-reg-domain{display:inline-flex;margin:0 0 10px;padding:4px 7px;border:1px solid rgba(102,197,255,.22);border-radius:999px;background:rgba(102,197,255,.08);color:#9edfff;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.scp-reg-note-label{margin:0 0 5px!important;color:#8edcff!important;font-size:10px!important;font-weight:800;letter-spacing:.12em}
.scp-reg-quiz-wrap .scp-question-panel{border-color:rgba(102,197,255,.2)}
@media(max-width:900px){.scp-reg-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.scp-reg-qcm-stats{grid-template-columns:1fr}}
@media(max-width:560px){.scp-reg-overview{grid-template-columns:1fr 1fr}.scp-reg-category-grid{grid-template-columns:1fr}.scp-reg-category-card{min-height:230px}.scp-reg-topic-list{display:grid}.scp-reg-topic-list span{text-align:center}.scp-results-actions{flex-direction:column}.scp-results-actions .scp-btn{width:100%}}

/* Réglementarité 2.8.0 — Avitaillement et repères permanents */
.scp-reg-category-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}
.scp-reg-card-ref{position:relative;z-index:1;display:inline-flex;margin-top:12px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--theme-color) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--theme-color) 8%,transparent);color:color-mix(in srgb,var(--theme-color) 82%,white);font-size:10px;font-weight:800;letter-spacing:.02em}
.scp-reg-question-labels{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.scp-reg-question-labels .scp-reg-domain{margin:0}
.scp-question-ref{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid color-mix(in srgb,var(--theme-color,#66c5ff) 38%,rgba(255,255,255,.12));border-radius:999px;background:color-mix(in srgb,var(--theme-color,#66c5ff) 11%,rgba(0,0,0,.2));color:color-mix(in srgb,var(--theme-color,#66c5ff) 78%,white);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.scp-mistake .scp-reg-question-labels,.scp-review-card .scp-reg-question-labels{margin-bottom:8px}
@media(max-width:760px){.scp-reg-category-grid{grid-template-columns:1fr}.scp-reg-question-labels{align-items:flex-start}.scp-question-ref{white-space:normal}}

/* Apprentissage — mémos pratiques et PDF */
.scp-btn-apprentissage{
  background:linear-gradient(135deg,#6f4aa6,#8b62c3);
  border-color:rgba(191,158,236,.42);
}
.scp-btn-apprentissage svg{width:17px;height:17px;vertical-align:-3px;margin-right:7px}
.scp-apprentissage-home-card{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px;align-items:center;
  margin:18px 0;padding:20px;border:1px solid rgba(173,132,226,.32);border-radius:18px;
  background:linear-gradient(135deg,rgba(88,53,132,.28),rgba(13,44,65,.92));box-shadow:var(--scp-shadow)
}
.scp-apprentissage-home-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:rgba(163,117,220,.17);color:#c7a7ef;border:1px solid rgba(190,154,236,.28)}
.scp-apprentissage-home-icon svg{width:29px;height:29px}
.scp-apprentissage-home-card h2{margin:0;color:var(--scp-white);font-size:22px}
.scp-apprentissage-home-card p{margin:5px 0 0;color:var(--scp-muted);font-size:12px;max-width:760px}
.scp-apprentissage-status{display:grid;gap:4px;min-width:170px;color:var(--scp-muted);font-size:11px}
.scp-apprentissage-status strong{color:#d7c1f4;font-size:13px}
.scp-learning-loading{min-height:220px;display:grid;place-items:center;align-content:center;gap:14px;text-align:center}
.scp-learning-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.scp-learning-metric{min-height:92px;display:flex;flex-direction:column;justify-content:center;padding:16px;border:1px solid rgba(168,130,219,.26);border-radius:14px;background:linear-gradient(145deg,rgba(69,45,101,.34),var(--scp-panel));box-shadow:0 8px 25px rgba(0,0,0,.08)}
.scp-learning-metric strong{color:#d8c3f4;font-size:25px;line-height:1;font-weight:850}
.scp-learning-metric span{margin-top:7px;color:var(--scp-muted);font-size:12px}
.scp-learning-intro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;margin:18px 0 24px;padding:20px;border:1px solid rgba(165,126,217,.28);border-radius:17px;background:linear-gradient(135deg,rgba(85,54,122,.2),rgba(14,44,63,.9))}
.scp-learning-intro-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;color:#c9a9ef;background:rgba(151,104,210,.14);border:1px solid rgba(190,154,236,.26)}
.scp-learning-intro-icon svg{width:28px;height:28px}
.scp-learning-intro h2{margin:0 0 5px;color:var(--scp-white);font-size:19px}
.scp-learning-intro p{margin:0;color:var(--scp-muted);font-size:12px;line-height:1.55}
.scp-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.scp-learning-card{position:relative;overflow:hidden;min-height:205px;padding:17px;border:1px solid var(--scp-line);border-radius:15px;background:var(--scp-panel);text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.scp-learning-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--memo-color)}
.scp-learning-card::after{content:"";position:absolute;width:150px;height:150px;right:-65px;top:-72px;border-radius:50%;background:color-mix(in srgb,var(--memo-color) 14%,transparent)}
.scp-learning-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--memo-color) 60%,transparent);box-shadow:0 16px 35px rgba(0,0,0,.2)}
.scp-learning-card-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start}
.scp-learning-card-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--memo-color) 14%,transparent);color:var(--memo-color)}
.scp-learning-card-icon svg{width:23px;height:23px}
.scp-learning-card h3{position:relative;z-index:1;margin:14px 0 7px;color:var(--scp-white);font-size:15px}
.scp-learning-card p{position:relative;z-index:1;margin:0;color:var(--scp-muted);font-size:12px;line-height:1.45;min-height:52px}
.scp-learning-card-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--scp-line);color:color-mix(in srgb,var(--memo-color) 75%,white);font-size:11px;font-weight:750}
.scp-learning-memo-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:18px 0;padding:22px;border:1px solid color-mix(in srgb,var(--memo-color) 45%,transparent);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--memo-color) 20%,transparent),rgba(10,34,51,.94));box-shadow:var(--scp-shadow)}
.scp-learning-memo-hero h2{margin:0;color:var(--scp-white);font-size:21px}
.scp-learning-memo-hero p:not(.scp-eyebrow){margin:6px 0 0;max-width:760px;color:var(--scp-muted);font-size:12px;line-height:1.55}
.scp-learning-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.scp-learning-badges span,.scp-learning-tags span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--memo-color) 36%,transparent);border-radius:999px;background:color-mix(in srgb,var(--memo-color) 12%,transparent);color:color-mix(in srgb,var(--memo-color) 72%,white);font-size:11px;font-weight:750}
.scp-learning-download{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none}
.scp-learning-topics{margin:18px 0;padding:20px;border:1px solid color-mix(in srgb,var(--memo-color) 35%,transparent);border-radius:16px;background:var(--scp-panel)}
.scp-learning-topics h2,.scp-learning-sources h2{margin:0 0 12px;color:var(--scp-white);font-size:18px}
.scp-learning-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.scp-learning-topic{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--scp-line);border-radius:12px;background:rgba(255,255,255,.025)}
.scp-learning-topic-dot{width:8px;height:8px;flex:none;margin-top:5px;border-radius:50%;background:var(--memo-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--memo-color) 15%,transparent)}
.scp-learning-topic p{margin:0;color:var(--scp-text);font-size:12px;line-height:1.45}
.scp-learning-sections{display:grid;gap:13px;margin:18px 0}
.scp-learning-block{overflow:hidden;border:1px solid color-mix(in srgb,var(--memo-color) 32%,transparent);border-radius:15px;background:var(--scp-panel)}
.scp-learning-block-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;cursor:pointer;background:linear-gradient(90deg,color-mix(in srgb,var(--memo-color) 16%,transparent),rgba(255,255,255,.02));list-style:none}
.scp-learning-block-summary::-webkit-details-marker{display:none}
.scp-learning-block-summary>div{display:flex;align-items:center;gap:10px;min-width:0}
.scp-learning-block-summary strong{color:var(--scp-white);font-size:14px}
.scp-learning-block-index{display:inline-flex;align-items:center;justify-content:center;min-width:60px;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--memo-color) 16%,transparent);color:color-mix(in srgb,var(--memo-color) 72%,white);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.scp-learning-block-meta{flex:none;color:var(--scp-muted);font-size:11px}
.scp-learning-block-body{padding:16px 18px 20px;border-top:1px solid var(--scp-line)}
.scp-learning-block-desc{margin:0 0 11px;color:var(--scp-muted);font-size:12px}
.scp-learning-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px}
.scp-learning-rule-list{display:grid;gap:9px;margin:0;padding-left:30px}
.scp-learning-rule{padding:11px 12px 11px 8px;border-bottom:1px solid rgba(125,173,201,.12);color:color-mix(in srgb,var(--memo-color) 72%,white);font-weight:800;font-size:12px}
.scp-learning-rule:last-child{border-bottom:0}
.scp-learning-rule-line{margin:0;color:var(--scp-text);font-size:13px;font-weight:500;line-height:1.5}
.scp-learning-rule-line strong{color:var(--scp-white)}
.scp-learning-rule-detail{margin:5px 0 0;color:var(--scp-muted);font-size:11.5px;font-weight:450;line-height:1.48}
.scp-learning-sources{margin:18px 0;padding:20px;border:1px solid color-mix(in srgb,var(--memo-color) 34%,transparent);border-radius:16px;background:linear-gradient(135deg,rgba(12,37,54,.95),color-mix(in srgb,var(--memo-color) 9%,transparent))}
.scp-learning-sources>p{margin:0 0 10px;color:var(--scp-muted);font-size:12px}
.scp-learning-sources ul{margin:0 0 14px;padding-left:20px;color:var(--scp-text);font-size:11px;line-height:1.5}
.scp-learning-sources li+li{margin-top:5px}
.scp-learning-complete{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:14px 0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--memo-color) 40%,transparent);border-radius:12px;background:color-mix(in srgb,var(--memo-color) 10%,transparent)}
.scp-learning-complete strong{color:color-mix(in srgb,var(--memo-color) 78%,white);font-size:13px}
.scp-learning-complete span{color:var(--scp-muted);font-size:11px}
@media (max-width:1100px){
  .scp-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scp-apprentissage-home-card{grid-template-columns:auto minmax(0,1fr);}.scp-apprentissage-status,.scp-apprentissage-home-card>.scp-btn{grid-column:2}
}
@media (max-width:760px){
  .scp-learning-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scp-learning-grid,.scp-learning-topic-grid{grid-template-columns:1fr}
  .scp-learning-memo-hero{align-items:flex-start;flex-direction:column}
  .scp-learning-download{width:100%}
  .scp-learning-block-summary{align-items:flex-start;flex-direction:column}
  .scp-apprentissage-home-card{grid-template-columns:1fr}.scp-apprentissage-home-icon,.scp-apprentissage-status,.scp-apprentissage-home-card>.scp-btn{grid-column:1}
}

/* Crew Institut 2.33.0 — Réglementation nationale */
.scp-btn-national{
  border-color:rgba(100,184,255,.42)!important;
  background:linear-gradient(135deg,rgba(20,104,171,.96),rgba(31,78,121,.98))!important;
  color:#f8fcff!important;
  box-shadow:0 9px 24px rgba(8,57,94,.24)
}
.scp-btn-national:hover{border-color:rgba(137,206,255,.7)!important;transform:translateY(-1px)}
.scp-national-home-card{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px;align-items:center;
  margin:18px 0;padding:20px;border:1px solid rgba(98,183,244,.3);border-radius:18px;
  background:linear-gradient(135deg,rgba(16,78,123,.32),rgba(11,40,59,.94));box-shadow:var(--scp-shadow)
}
.scp-national-home-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:rgba(72,164,224,.15);color:#8fd0fa;border:1px solid rgba(115,195,246,.3)}
.scp-national-home-icon svg{width:29px;height:29px}
.scp-national-home-card h2{margin:0;color:var(--scp-white);font-size:22px}
.scp-national-home-card p{margin:5px 0 0;color:var(--scp-muted);font-size:12px;max-width:780px;line-height:1.5}
.scp-national-home-status{display:grid;gap:4px;min-width:175px;color:var(--scp-muted);font-size:11px}
.scp-national-home-status strong{color:#a4dcff;font-size:13px}
.scp-national-loading{min-height:230px;display:grid;place-items:center;align-content:center;gap:14px;text-align:center}
.scp-national-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.85fr);gap:16px;margin:18px 0 16px}
.scp-national-hero-copy{padding:22px;border:1px solid rgba(102,188,246,.28);border-radius:18px;background:linear-gradient(135deg,rgba(18,79,121,.28),rgba(10,36,53,.95));box-shadow:var(--scp-shadow)}
.scp-national-kicker{display:inline-flex;margin-bottom:9px;padding:5px 9px;border:1px solid rgba(112,196,250,.35);border-radius:999px;background:rgba(77,167,226,.12);color:#9bd8ff;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.scp-national-hero h2{margin:0;color:var(--scp-white);font-size:22px;line-height:1.25}
.scp-national-hero-copy>p{margin:9px 0 0;color:var(--scp-muted);font-size:12.5px;line-height:1.6}
.scp-national-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;margin-top:15px;padding:12px 13px;border:1px solid rgba(242,183,73,.28);border-radius:12px;background:rgba(242,183,73,.07)}
.scp-national-notice strong{color:#ffd48a;font-size:11.5px;white-space:nowrap}
.scp-national-notice span{color:#d7dee4;font-size:11.5px;line-height:1.5}
.scp-national-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.scp-national-metric{min-height:104px;display:flex;flex-direction:column;justify-content:center;padding:17px;border:1px solid rgba(101,184,239,.23);border-radius:15px;background:linear-gradient(145deg,rgba(18,66,95,.48),var(--scp-panel));box-shadow:0 8px 24px rgba(0,0,0,.1)}
.scp-national-metric strong{color:#a8ddff;font-size:27px;line-height:1;font-weight:900}
.scp-national-metric span{margin-top:8px;color:var(--scp-muted);font-size:11.5px;line-height:1.35}
.scp-national-controls{display:grid;gap:11px;margin:16px 0;padding:14px;border:1px solid var(--scp-line);border-radius:15px;background:var(--scp-panel)}
.scp-national-search{display:flex;align-items:center;gap:9px;min-height:45px;padding:0 12px;border:1px solid rgba(113,177,215,.28);border-radius:11px;background:rgba(0,0,0,.13)}
.scp-national-search:focus-within{border-color:rgba(99,189,246,.7);box-shadow:0 0 0 3px rgba(66,162,223,.1)}
.scp-national-search-icon{display:grid;place-items:center;color:#83c7f1}.scp-national-search-icon svg{width:18px;height:18px}
.scp-national-search input{width:100%;border:0;outline:0;background:transparent;color:var(--scp-white);font:inherit;font-size:13px}
.scp-national-search input::placeholder{color:#7690a0}
.scp-national-filters{display:flex;flex-wrap:wrap;gap:7px}
.scp-national-filter{min-height:32px;padding:6px 10px;border:1px solid var(--scp-line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--scp-muted);font:inherit;font-size:10.5px;font-weight:750;cursor:pointer}
.scp-national-filter:hover{border-color:rgba(105,189,243,.4);color:#ccecff}.scp-national-filter.is-active{border-color:rgba(93,187,247,.58);background:rgba(55,151,211,.16);color:#bfe7ff}
.scp-national-coverage{margin:0 0 15px;border:1px solid rgba(113,177,215,.24);border-radius:14px;background:rgba(16,49,68,.56);overflow:hidden}
.scp-national-coverage>summary{display:flex;justify-content:space-between;gap:15px;padding:13px 15px;list-style:none;cursor:pointer}
.scp-national-coverage>summary::-webkit-details-marker{display:none}.scp-national-coverage>summary strong{color:#d9f0ff;font-size:12px}.scp-national-coverage>summary span{color:var(--scp-muted);font-size:11px}
.scp-national-coverage-body{padding:0 15px 14px;border-top:1px solid var(--scp-line)}
.scp-national-coverage-body p{margin:11px 0 0;color:var(--scp-muted);font-size:11.5px;line-height:1.5}
.scp-national-result-count{margin:10px 2px 12px;color:var(--scp-muted);font-size:11px}
.scp-national-results{display:grid;gap:18px}
.scp-national-section{display:grid;gap:10px}
.scp-national-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 2px}
.scp-national-section-head h2{margin:0;color:var(--scp-white);font-size:16px}.scp-national-section-head span{color:var(--scp-muted);font-size:10.5px}
.scp-national-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.scp-national-card{overflow:hidden;border:1px solid var(--scp-line);border-radius:14px;background:var(--scp-panel);transition:border-color .16s ease,box-shadow .16s ease}
.scp-national-card[data-code="transport"][data-level="law"]{border-left:4px solid #4ca9e8}
.scp-national-card[data-code="transport"][data-level="reg"]{border-left:4px solid #e6aa42}
.scp-national-card[data-code="travail"]{border-left:4px solid #59bc8c}
.scp-national-card[open]{border-color:rgba(110,180,220,.38);box-shadow:0 12px 30px rgba(0,0,0,.13)}
.scp-national-card-summary{padding:14px 15px;list-style:none;cursor:pointer}.scp-national-card-summary::-webkit-details-marker{display:none}
.scp-national-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.scp-national-badges{display:flex;flex-wrap:wrap;gap:5px}
.scp-national-badge{display:inline-flex;align-items:center;min-height:23px;padding:4px 7px;border:1px solid var(--scp-line);border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.035em}
.scp-national-badge-code{background:rgba(77,165,224,.09);color:#a9dfff}
.scp-national-card[data-code="travail"] .scp-national-badge-code{background:rgba(80,184,134,.09);color:#a9e7c8}
.scp-national-badge-level{background:rgba(230,170,66,.09);color:#ffd28a}.scp-national-card[data-level="law"] .scp-national-badge-level{background:rgba(76,169,232,.09);color:#a9dfff}
.scp-national-badge-audience{color:#c7d2da;background:rgba(255,255,255,.025)}
.scp-national-article{flex:none;color:#d7edf9;font-size:11px;font-weight:850}
.scp-national-card h3{margin:11px 0 6px;color:var(--scp-white);font-size:14px;line-height:1.35}
.scp-national-card-summary>p{margin:0;color:var(--scp-muted);font-size:12px;line-height:1.52}
.scp-national-card-body{display:grid;gap:11px;padding:13px 15px 15px;border-top:1px solid var(--scp-line);background:rgba(0,0,0,.08)}
.scp-national-comment{padding:11px 12px;border:1px solid rgba(108,184,227,.2);border-radius:11px;background:rgba(46,120,164,.07)}
.scp-national-comment>span{display:block;margin-bottom:5px;color:#9dd8fb;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.065em}
.scp-national-comment p{margin:0;color:#d9e5eb;font-size:12px;line-height:1.55}
.scp-national-official-link{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;color:#91d2f9;text-decoration:none;font-size:11px;font-weight:750}.scp-national-official-link:hover{text-decoration:underline}.scp-national-official-link svg{width:14px;height:14px}
.scp-national-empty{padding:30px;border:1px dashed rgba(110,180,220,.28);border-radius:14px;text-align:center}.scp-national-empty strong{color:var(--scp-white)}.scp-national-empty p{margin:6px 0 0;color:var(--scp-muted);font-size:12px}
.scp-national-sources{margin:22px 0;padding:19px;border:1px solid rgba(97,181,238,.25);border-radius:16px;background:linear-gradient(135deg,rgba(15,58,83,.86),rgba(10,34,50,.95))}
.scp-national-sources h2{margin:0 0 12px;color:var(--scp-white);font-size:17px}
.scp-national-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.scp-national-source-card{display:grid;gap:9px;padding:12px;border:1px solid rgba(108,181,224,.21);border-radius:11px;background:rgba(255,255,255,.025);text-decoration:none}
.scp-national-source-card:hover{border-color:rgba(104,194,247,.48);background:rgba(67,155,208,.08)}
.scp-national-source-card strong{color:#e4f5ff;font-size:11.5px;line-height:1.4}.scp-national-source-link{display:flex;align-items:center;gap:5px;color:#8fcaed;font-size:10.5px}.scp-national-source-link svg{width:13px;height:13px}
@media (max-width:1100px){
  .scp-national-home-card{grid-template-columns:auto minmax(0,1fr)}.scp-national-home-status,.scp-national-home-card>.scp-btn{grid-column:2}
  .scp-national-hero{grid-template-columns:1fr}.scp-national-grid{grid-template-columns:1fr}.scp-national-source-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .scp-national-home-card{grid-template-columns:1fr}.scp-national-home-icon,.scp-national-home-status,.scp-national-home-card>.scp-btn{grid-column:1}
  .scp-national-stats{grid-template-columns:1fr 1fr}.scp-national-notice{grid-template-columns:1fr}.scp-national-card-top{flex-direction:column}.scp-national-article{align-self:flex-start}
}
@media (max-width:480px){.scp-national-stats{grid-template-columns:1fr}.scp-national-hero-copy{padding:17px}.scp-national-metric{min-height:84px}}
@media (max-width:820px){
  .scp-mobile-nav{grid-template-columns:repeat(4,1fr)}
  .scp-main{padding-bottom:150px}
  .scp-toast{bottom:140px}
}


/* Crew Institut 2.33.1 — optimisation responsive globale */
/* Robustesse des conteneurs : aucun module ne doit imposer une largeur minimale à la page. */
.scp-app,.scp-layout,.scp-main,.scp-page-head,.scp-hero,.scp-panel,.scp-theme-card,.scp-qcm-card,
.scp-question-panel,.scp-option,.scp-game-home-card,.scp-reglementarite-home-card,.scp-reg-category-card,
.scp-apprentissage-home-card,.scp-learning-card,.scp-learning-memo-hero,.scp-learning-block,
.scp-national-home-card,.scp-national-hero,.scp-national-card,.scp-national-controls{min-width:0}
.scp-sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.scp-sidebar-note{flex:none}
.scp-question,.scp-option-text,.scp-page-sub,.scp-hero p,.scp-theme-card p,.scp-qcm-summary,
.scp-reglementarite-card p,.scp-reg-category-card p,.scp-learning-card p,.scp-learning-rule-line,
.scp-learning-rule-detail,.scp-national-card h3,.scp-national-card-summary>p,.scp-national-comment p,
.scp-national-coverage-body p,.scp-national-source-card strong,.scp-national-official-link{
  overflow-wrap:anywhere;word-break:normal
}
.scp-national-search input{min-width:0}

/* Écrans intermédiaires / petits ordinateurs portables. */
@media (max-width:1280px){
  .scp-topbar{grid-template-columns:220px minmax(0,1fr) auto;padding-inline:20px}
  .scp-layout{grid-template-columns:220px minmax(0,1fr)}
  .scp-sidebar{padding-inline:12px}
  .scp-main{padding-inline:clamp(18px,2.4vw,32px)}
  .scp-nav-btn{gap:9px;padding-inline:10px}
  .scp-nav-icon{width:29px;height:29px}
  .scp-national-home-card,.scp-apprentissage-home-card{gap:14px}
}

/* Tablettes : navigation basse défilable, zones tactiles lisibles, pas de grille écrasée. */
@media (max-width:820px){
  .scp-root{min-height:100dvh}
  .scp-topbar{
    height:68px;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;
    padding-left:max(11px,env(safe-area-inset-left));padding-right:max(11px,env(safe-area-inset-right))
  }
  .scp-layout{min-height:calc(100dvh - 68px - var(--wp-admin--admin-bar--height,0px))}
  .scp-brand{justify-content:center}
  .scp-brand-copy{min-width:0}
  .scp-brand-copy strong,.scp-brand-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .scp-main{padding:20px 16px calc(92px + env(safe-area-inset-bottom))}
  .scp-page-head{gap:14px}
  .scp-section{margin-top:22px}
  .scp-section-head{align-items:flex-start}
  .scp-hero{gap:16px;padding:19px}
  .scp-panel{padding:16px}
  .scp-theme-card,.scp-qcm-card{min-height:0}
  .scp-question-panel{box-shadow:0 12px 34px rgba(0,0,0,.2)}
  .scp-question{font-size:clamp(18px,3.2vw,22px)}
  .scp-option{min-height:52px;align-items:flex-start}
  .scp-option-letter{width:28px;height:28px}
  .scp-option-text{font-size:16px;line-height:1.48}
  .scp-quiz-actions .scp-btn{min-width:150px}
  .scp-reglementarite-home-card,.scp-game-home-card{gap:14px;padding:18px}
  .scp-learning-memo-hero,.scp-learning-topics,.scp-learning-sources{padding:18px}
  .scp-national-home-card,.scp-national-hero-copy,.scp-national-sources{padding:18px}

  /* 8 entrées peuvent coexister sans devenir illisibles : une rangée horizontale tactile. */
  .scp-mobile-nav{
    left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));
    bottom:max(8px,env(safe-area-inset-bottom));
    display:flex!important;grid-template-columns:none!important;gap:4px;align-items:stretch;
    padding:6px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none
  }
  .scp-mobile-nav::-webkit-scrollbar{display:none}
  .scp-mobile-nav button{
    flex:0 0 auto;min-width:88px;min-height:50px;padding:7px 9px!important;
    font-size:11px!important;line-height:1.18;white-space:nowrap;scroll-snap-align:start
  }
  .scp-toast{left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));max-width:none}
}

/* Mobiles larges et portrait tablette étroite. */
@media (max-width:620px){
  .scp-topbar{height:62px}
  .scp-layout{min-height:calc(100dvh - 62px - var(--wp-admin--admin-bar--height,0px))}
  .scp-main{padding:16px 13px calc(90px + env(safe-area-inset-bottom))}
  .scp-page-title{font-size:clamp(23px,7vw,31px)}
  .scp-page-head{padding-bottom:16px}
  .scp-page-sub{font-size:12.5px;line-height:1.5}
  .scp-section-head{flex-direction:column;align-items:flex-start;gap:7px}
  .scp-section-head>*{max-width:100%}
  .scp-hero{padding:16px;border-radius:13px}
  .scp-hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .scp-hero-actions .scp-btn{width:100%}
  .scp-kpis,.scp-game-kpis,.scp-learning-overview,.scp-reg-overview{gap:9px}
  .scp-kpi,.scp-game-kpi,.scp-learning-metric,.scp-reg-metric{padding:12px}
  .scp-qcm-card-top,.scp-quiz-meta{flex-wrap:wrap}
  .scp-progress-segments{gap:2px;margin-bottom:15px}
  .scp-question-panel{padding:16px;border-radius:14px}
  .scp-question{margin-bottom:17px;font-size:18px;line-height:1.42}
  .scp-options{gap:9px}
  .scp-option{gap:10px;padding:12px}
  .scp-option-text{font-size:16px;line-height:1.5}
  .scp-quiz-actions{margin-top:14px}
  .scp-quiz-actions .scp-btn{width:100%}
  .scp-results-score{gap:14px;padding:16px}
  .scp-review-list{padding-inline:10px}
  .scp-review-card,.scp-mistake{padding:13px}
  .scp-history-row{grid-template-columns:1fr;gap:3px}
  .scp-modal-backdrop{place-items:end center;padding:10px}
  .scp-modal{max-height:88dvh;overflow:auto;border-radius:16px 16px 12px 12px;padding:18px}
  .scp-modal-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .scp-modal-actions .scp-btn{width:100%}

  .scp-reglementarite-home-card,.scp-game-home-card,.scp-apprentissage-home-card,.scp-national-home-card{margin:16px 0;padding:16px}
  .scp-reg-category-card{min-height:0;padding:17px}
  .scp-reg-category-card h3{font-size:19px}
  .scp-reg-topic-list{gap:6px}
  .scp-reg-topic-list span,.scp-reg-coverage span{font-size:11.5px;line-height:1.35}

  .scp-learning-intro{grid-template-columns:1fr;gap:12px;padding:16px}
  .scp-learning-memo-hero,.scp-learning-topics,.scp-learning-sources{padding:16px}
  .scp-learning-block-summary{padding:13px 14px}
  .scp-learning-block-body{padding:14px}
  .scp-learning-rule-list{padding-left:24px}
  .scp-learning-rule{padding-right:4px}
  .scp-learning-card-foot{flex-wrap:wrap}

  .scp-national-hero-copy,.scp-national-sources,.scp-national-controls{padding:15px}
  .scp-national-stats{gap:8px}
  .scp-national-metric{padding:14px}
  .scp-national-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .scp-national-filters::-webkit-scrollbar{display:none}
  .scp-national-filter{flex:none;min-height:36px;font-size:11px}
  .scp-national-coverage>summary{flex-direction:column;gap:5px}
  .scp-national-section-head{align-items:flex-start;flex-direction:column;gap:4px}
  .scp-national-card-summary{padding:13px}
  .scp-national-card-body{padding:13px}
  .scp-national-source-card{min-width:0}
  .scp-national-official-link{width:100%}
}

/* Petits téléphones : priorité à la lisibilité et aux zones tactiles. */
@media (max-width:420px){
  .scp-topbar{padding-inline:8px}
  .scp-connection{display:none}
  .scp-topbar{grid-template-columns:minmax(0,1fr) auto}
  .scp-brand{justify-content:flex-start}
  .scp-brand-mark{width:34px;height:34px}
  .scp-top-actions{gap:5px}
  .scp-icon-btn{width:36px;height:36px}
  .scp-main{padding-inline:10px}
  .scp-page-title{font-size:24px}
  .scp-kpis,.scp-game-kpis,.scp-learning-overview,.scp-reg-overview,.scp-national-stats{grid-template-columns:1fr}
  .scp-kpi,.scp-game-kpi{min-height:70px}
  .scp-theme-card,.scp-qcm-card,.scp-panel{padding:14px}
  .scp-question-panel{padding:14px}
  .scp-question{font-size:17px}
  .scp-option{padding:11px 10px}
  .scp-option-letter{width:27px;height:27px}
  .scp-option-text{font-size:16px}
  .scp-results-score{align-items:flex-start;flex-direction:column}
  .scp-score-ring{width:82px;height:82px}
  .scp-learning-card,.scp-learning-topics,.scp-learning-sources,.scp-learning-memo-hero{padding:14px}
  .scp-learning-block-summary>div{align-items:flex-start;flex-direction:column;gap:6px}
  .scp-learning-block-index{min-width:0}
  .scp-national-home-card,.scp-national-hero-copy,.scp-national-controls,.scp-national-sources{padding:14px}
  .scp-national-badge{font-size:8.5px}
  .scp-mobile-nav button{min-width:84px;font-size:10.5px!important}
}

/* Très petites largeurs : aucune réduction de la police des réponses. */
@media (max-width:360px){
  .scp-main{padding-inline:8px}
  .scp-brand-copy strong{font-size:13px}
  .scp-question-panel{padding:12px}
  .scp-option{gap:8px;padding:10px 9px}
  .scp-option-text{font-size:16px}
  .scp-mobile-nav{left:5px;right:5px}
  .scp-mobile-nav button{min-width:80px}
}


/* Crew Institut Apprentissage - synthese globale 2.33.3 */
.scp-learning-synthesis{margin:18px 0;padding:22px;border:1px solid color-mix(in srgb,var(--memo-color) 42%,transparent);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--memo-color) 12%,#102536),#102536 58%,rgba(255,255,255,.025))}
.scp-learning-synthesis h2{margin:2px 0 8px;color:var(--scp-white);font-size:21px}
.scp-learning-synthesis-intro,.scp-learning-synthesis-closing{margin:0;color:var(--scp-text);font-size:13px;line-height:1.58}
.scp-learning-synthesis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.scp-learning-synthesis-axis{position:relative;padding:15px;border:1px solid color-mix(in srgb,var(--memo-color) 28%,transparent);border-radius:14px;background:rgba(0,0,0,.12)}
.scp-learning-synthesis-axis h3{margin:0 0 7px;padding-left:34px;color:var(--scp-white);font-size:14px;line-height:1.35}
.scp-learning-synthesis-axis>p{margin:0 0 10px;color:var(--scp-muted);font-size:11.5px;line-height:1.5}
.scp-learning-synthesis-number{position:absolute;left:14px;top:13px;display:flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--memo-color) 24%,transparent);color:color-mix(in srgb,var(--memo-color) 72%,white);font-size:11px;font-weight:900}
.scp-learning-synthesis-tags span{font-size:10px}
.scp-learning-synthesis-transversal{padding:14px;border-radius:14px;background:color-mix(in srgb,var(--memo-color) 8%,transparent);border:1px solid color-mix(in srgb,var(--memo-color) 20%,transparent);margin-bottom:13px}
.scp-learning-synthesis-transversal>strong{display:block;margin-bottom:9px;color:var(--scp-white);font-size:12px}
.scp-learning-synthesis-coverage{margin:12px 0 0;color:color-mix(in srgb,var(--memo-color) 70%,white);font-size:10.5px;font-weight:800}
@media(max-width:760px){.scp-learning-synthesis{padding:17px}.scp-learning-synthesis-grid{grid-template-columns:1fr}}
@media(max-width:420px){.scp-learning-synthesis{padding:14px;border-radius:15px}.scp-learning-synthesis-axis{padding:13px}}


/* Crew Institut 2.33.4 - sous-themes Reglementarite et dashboard accueil */
.scp-reg-dashboard-shell{display:grid;gap:16px;min-width:0}
.scp-reg-dash-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid rgba(102,197,255,.26);border-radius:20px;background:linear-gradient(135deg,rgba(0,99,153,.28),rgba(7,31,46,.96));box-shadow:var(--scp-shadow)}
.scp-reg-dash-hero-copy{min-width:0}.scp-reg-dash-hero h2{margin:2px 0 7px;color:#fff;font-size:25px}.scp-reg-dash-hero p:not(.scp-eyebrow){margin:0;max-width:840px;color:var(--scp-muted);font-size:13px;line-height:1.58}
.scp-reg-dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.scp-reg-dash-kpi{display:grid;gap:5px;min-height:112px;padding:18px;border:1px solid rgba(102,197,255,.18);border-radius:16px;background:linear-gradient(145deg,rgba(12,54,77,.88),rgba(7,28,42,.96));box-shadow:0 9px 24px rgba(0,0,0,.12)}
.scp-reg-dash-kpi strong{color:#dff5ff;font-size:27px;line-height:1}.scp-reg-dash-kpi span{color:#fff;font-size:12px;font-weight:800}.scp-reg-dash-kpi small{color:var(--scp-muted);font-size:10.5px;line-height:1.4}
.scp-reg-dash-overview{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}
.scp-reg-dash-panel{min-width:0;padding:20px;border:1px solid rgba(125,173,201,.16);border-radius:17px;background:var(--scp-panel);box-shadow:0 9px 24px rgba(0,0,0,.08)}
.scp-reg-dash-panel h3{margin:0 0 14px;color:#fff;font-size:18px}.scp-reg-dash-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.scp-reg-dash-section-head h3{margin:0 0 4px}.scp-reg-dash-section-head p{margin:0;color:var(--scp-muted);font-size:11.5px;line-height:1.45}
.scp-reg-dash-ring-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}.scp-reg-dash-ring{--dash-pct:0%;width:154px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#66c5ff var(--dash-pct),rgba(102,197,255,.12) 0);box-shadow:inset 0 0 0 1px rgba(102,197,255,.18)}
.scp-reg-dash-ring-core{width:112px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:#0c2b3e;border:1px solid rgba(255,255,255,.06)}.scp-reg-dash-ring-core strong{color:#fff;font-size:28px}.scp-reg-dash-ring-core span{color:var(--scp-muted);font-size:10px}
.scp-reg-dash-ring-copy{display:grid;gap:7px}.scp-reg-dash-ring-copy strong{color:#fff;font-size:14px}.scp-reg-dash-ring-copy span{color:var(--scp-muted);font-size:11.5px;line-height:1.45}
.scp-reg-dash-subthemes{display:grid;gap:13px}.scp-reg-dash-subtheme{display:grid;gap:6px}.scp-reg-dash-subtheme-head{display:flex;justify-content:space-between;gap:10px}.scp-reg-dash-subtheme-head strong{color:#fff;font-size:12px}.scp-reg-dash-subtheme-head span,.scp-reg-dash-subtheme small{color:var(--scp-muted);font-size:10.5px}
.scp-reg-dash-track{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.075)}.scp-reg-dash-track span{display:block;height:100%;min-width:0;border-radius:inherit}.scp-reg-dash-track-small{width:min(180px,100%);height:5px;margin-top:7px}
.scp-reg-year-chart{display:flex;align-items:flex-end;gap:14px;min-height:230px;padding:10px 2px 0;overflow-x:auto}.scp-reg-year-col{display:grid;grid-template-rows:auto 150px auto auto;gap:6px;min-width:118px;text-align:center}.scp-reg-year-col>strong{color:#9edfff;font-size:10.5px}.scp-reg-year-col>b{color:#fff;font-size:13px}.scp-reg-year-col>span{color:var(--scp-muted);font-size:9.5px;line-height:1.35}.scp-reg-year-barbox{height:150px;display:flex;align-items:flex-end;justify-content:center;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(to top,rgba(102,197,255,.035),transparent)}.scp-reg-year-bar{width:44px;min-height:2px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#8edcff,#317fae);box-shadow:0 7px 20px rgba(49,127,174,.22)}
.scp-reg-dash-table-wrap{overflow:auto;border:1px solid rgba(125,173,201,.12);border-radius:13px}.scp-reg-dash-table{width:100%;border-collapse:collapse;min-width:820px}.scp-reg-dash-table th,.scp-reg-dash-table td{padding:12px 13px;border-bottom:1px solid rgba(125,173,201,.1);text-align:left;vertical-align:middle}.scp-reg-dash-table th{position:sticky;top:0;background:#0e3045;color:#bfeaff;font-size:10px;text-transform:uppercase;letter-spacing:.05em;z-index:1}.scp-reg-dash-table td{color:var(--scp-muted);font-size:11px}.scp-reg-dash-table td strong{color:#fff;font-size:11.5px}.scp-reg-dash-table tr:last-child td{border-bottom:0}
.scp-reg-dash-recent{display:grid;gap:8px}.scp-reg-dash-recent-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 12px;border:1px solid rgba(125,173,201,.1);border-radius:11px;background:rgba(255,255,255,.02)}.scp-reg-dash-recent-row>div{display:grid;gap:3px}.scp-reg-dash-recent-row strong{color:#fff;font-size:11.5px}.scp-reg-dash-recent-row span{color:var(--scp-muted);font-size:10px}.scp-reg-dash-recent-row>b{color:#9edfff;font-size:13px}
.scp-reg-subtheme-switcher{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:10px 0 16px}.scp-reg-subtheme-tab{--subtheme-color:#66c5ff;display:grid;gap:4px;min-width:0;padding:13px 12px;border:1px solid rgba(125,173,201,.16);border-radius:13px;background:rgba(255,255,255,.025);color:var(--scp-muted);text-align:left;cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}.scp-reg-subtheme-tab strong{color:#fff;font-size:11.5px}.scp-reg-subtheme-tab span{font-size:9.8px}.scp-reg-subtheme-tab:hover,.scp-reg-subtheme-tab.is-active{border-color:color-mix(in srgb,var(--subtheme-color) 62%,transparent);background:color-mix(in srgb,var(--subtheme-color) 10%,rgba(255,255,255,.02));transform:translateY(-1px)}
.scp-reg-subtheme-content{--subtheme-color:#66c5ff;padding:18px;border:1px solid color-mix(in srgb,var(--subtheme-color) 24%,rgba(125,173,201,.12));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--subtheme-color) 5%,rgba(7,31,46,.72)),rgba(7,31,46,.48))}.scp-reg-subtheme-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.scp-reg-subtheme-heading h3{margin:1px 0 5px;color:#fff;font-size:20px}.scp-reg-subtheme-heading p:not(.scp-eyebrow){margin:0;color:var(--scp-muted);font-size:11.5px;line-height:1.45}.scp-reg-subtheme-count{flex:0 0 auto;padding:7px 10px;border:1px solid color-mix(in srgb,var(--subtheme-color) 35%,transparent);border-radius:999px;background:color-mix(in srgb,var(--subtheme-color) 8%,transparent);color:color-mix(in srgb,var(--subtheme-color) 72%,white);font-size:10px;font-weight:800}.scp-reg-subtheme-empty{padding:22px;border:1px dashed color-mix(in srgb,var(--subtheme-color) 35%,rgba(255,255,255,.12));border-radius:13px;text-align:center}.scp-reg-subtheme-empty strong{color:#fff}.scp-reg-subtheme-empty p{margin:7px auto 0;max-width:680px;color:var(--scp-muted);font-size:11.5px;line-height:1.5}
@media(max-width:1050px){.scp-reg-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.scp-reg-subtheme-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}.scp-reg-dash-overview{grid-template-columns:1fr}}
@media(max-width:760px){.scp-reg-dash-hero{align-items:flex-start;flex-direction:column;padding:19px}.scp-reg-dash-hero .scp-btn{width:100%}.scp-reg-dash-ring-wrap{grid-template-columns:1fr;justify-items:center;text-align:center}.scp-reg-subtheme-switcher{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}.scp-reg-subtheme-tab{flex:0 0 180px;scroll-snap-align:start}.scp-reg-subtheme-heading{align-items:flex-start;flex-direction:column}.scp-reg-dash-table-wrap{overflow:visible;border:0}.scp-reg-dash-table{min-width:0}.scp-reg-dash-table thead{display:none}.scp-reg-dash-table,.scp-reg-dash-table tbody,.scp-reg-dash-table tr,.scp-reg-dash-table td{display:block;width:100%}.scp-reg-dash-table tr{margin:0 0 10px;padding:8px 12px;border:1px solid rgba(125,173,201,.12);border-radius:12px;background:rgba(255,255,255,.02)}.scp-reg-dash-table td{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:7px 0;border:0}.scp-reg-dash-table td::before{content:attr(data-label);color:#8abbd7;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.scp-reg-dash-track-small{width:100%}.scp-reg-year-chart{min-height:210px}.scp-reg-year-col{grid-template-rows:auto 130px auto auto}.scp-reg-year-barbox{height:130px}}
@media(max-width:520px){.scp-reg-dash-kpis{grid-template-columns:1fr 1fr}.scp-reg-dash-kpi{min-height:102px;padding:14px}.scp-reg-dash-kpi strong{font-size:22px}.scp-reg-dash-panel{padding:15px}.scp-reg-dash-ring{width:138px}.scp-reg-dash-ring-core{width:100px}.scp-reg-subtheme-content{padding:14px}.scp-reg-dash-recent-row{align-items:flex-start}.scp-reg-dash-table td{grid-template-columns:105px minmax(0,1fr)}}
@media(max-width:380px){.scp-reg-dash-kpis{grid-template-columns:1fr}.scp-reg-dash-table td{grid-template-columns:1fr;gap:3px}.scp-reg-dash-hero h2{font-size:22px}}

/* Crew Institut 2.33.5 — correction tablette / iPad portrait
   Objectif : supprimer la zone hybride desktop/mobile sur les iPad portrait
   (744, 768, 810, 820, 834 et 1024 px) sans modifier la logique applicative. */
@media (orientation: portrait) and (min-width: 621px) and (max-width: 1024px) {
  .scp-root {
    overflow-x: hidden;
  }

  /* En-tête tablette : marque lisible à gauche, actions à droite. */
  .scp-topbar {
    height: 68px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }
  .scp-connection {
    display: none;
  }
  .scp-brand {
    justify-content: flex-start;
    max-width: 100%;
  }
  .scp-brand-copy {
    min-width: 0;
  }
  .scp-brand-copy strong,
  .scp-brand-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .scp-brand-copy strong {
    font-size: 16px;
  }
  .scp-brand-copy span {
    font-size: 11px;
  }

  /* Pleine largeur réelle : la sidebar ne doit plus comprimer le contenu. */
  .scp-layout {
    grid-template-columns: minmax(0, 1fr);
    min-height: calc(100dvh - 68px - var(--wp-admin--admin-bar--height, 0px));
  }
  .scp-sidebar {
    display: none;
  }
  .scp-main {
    width: 100%;
    max-width: 100%;
    padding: 22px clamp(18px, 3vw, 30px) calc(104px + env(safe-area-inset-bottom));
  }

  /* Navigation tablette : même logique que mobile, mais avec des cibles tactiles plus confortables. */
  .scp-mobile-nav {
    position: fixed;
    left: max(10px, env(safe-area-inset-left));
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 50;
    display: flex !important;
    align-items: stretch;
    gap: 5px;
    padding: 7px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border: 1px solid var(--scp-line);
    border-radius: 15px;
    background: rgba(8, 31, 47, .97);
    box-shadow: 0 15px 40px rgba(0, 0, 0, .38);
    backdrop-filter: blur(12px);
  }
  .scp-mobile-nav::-webkit-scrollbar {
    display: none;
  }
  .scp-mobile-nav button {
    flex: 0 0 auto;
    min-width: 102px;
    min-height: 52px;
    padding: 8px 11px !important;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--scp-muted);
    font-size: 11.5px !important;
    font-weight: 750;
    line-height: 1.18;
    white-space: nowrap;
    scroll-snap-align: start;
    cursor: pointer;
  }
  .scp-mobile-nav button.is-active {
    background: rgba(9, 105, 168, .42);
    color: #fff;
  }
  .scp-toast {
    left: 14px;
    right: 14px;
    bottom: calc(86px + env(safe-area-inset-bottom));
    max-width: none;
  }

  /* Grilles : densité tablette cohérente, sans cartes écrasées. */
  .scp-kpis,
  .scp-game-kpis,
  .scp-learning-overview,
  .scp-reg-overview,
  .scp-reg-dash-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .scp-theme-grid,
  .scp-learning-grid,
  .scp-reg-category-grid,
  .scp-challenge-grid,
  .scp-badge-grid,
  .scp-rule-grid,
  .scp-national-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .scp-dashboard-grid,
  .scp-reg-dash-overview,
  .scp-national-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Cartes d'accès aux modules : empilement propre en portrait. */
  .scp-game-home-card,
  .scp-reglementarite-home-card,
  .scp-apprentissage-home-card,
  .scp-national-home-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .scp-game-home-stats,
  .scp-reglementarite-status,
  .scp-apprentissage-status,
  .scp-national-home-status {
    min-width: 0;
    grid-column: auto;
  }
  .scp-apprentissage-home-icon,
  .scp-national-home-icon,
  .scp-apprentissage-home-card > .scp-btn,
  .scp-national-home-card > .scp-btn {
    grid-column: auto;
  }
  .scp-game-home-card > .scp-btn,
  .scp-reglementarite-home-card > .scp-btn,
  .scp-apprentissage-home-card > .scp-btn,
  .scp-national-home-card > .scp-btn {
    width: 100%;
  }

  /* Tableau de bord Réglementarité : éviter les 6 colonnes comprimées sur iPad portrait. */
  .scp-reg-dash-panel {
    padding: 18px;
  }
  .scp-reg-dash-table-wrap {
    overflow: visible;
    border: 0;
  }
  .scp-reg-dash-table {
    min-width: 0;
  }
  .scp-reg-dash-table thead {
    display: none;
  }
  .scp-reg-dash-table,
  .scp-reg-dash-table tbody,
  .scp-reg-dash-table tr,
  .scp-reg-dash-table td {
    display: block;
    width: 100%;
  }
  .scp-reg-dash-table tr {
    margin: 0 0 10px;
    padding: 9px 13px;
    border: 1px solid rgba(125, 173, 201, .12);
    border-radius: 12px;
    background: rgba(255, 255, 255, .02);
  }
  .scp-reg-dash-table td {
    display: grid;
    grid-template-columns: 138px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 7px 0;
    border: 0;
  }
  .scp-reg-dash-table td::before {
    content: attr(data-label);
    color: #8abbd7;
    font-size: 9.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
  }
  .scp-reg-dash-track-small {
    width: 100%;
  }

  /* Éviter les en-têtes/actions trop serrés. */
  .scp-page-head,
  .scp-section-head,
  .scp-reg-dash-section-head {
    min-width: 0;
  }
  .scp-question-panel,
  .scp-option,
  .scp-reg-dash-panel,
  .scp-reg-subtheme-content {
    max-width: 100%;
  }
  .scp-option-text,
  .scp-reg-dash-section-head p,
  .scp-reg-subtheme-heading p {
    overflow-wrap: anywhere;
  }
}

/* iPad portrait 11 pouces / formats voisins : alléger encore les zones horizontales. */
@media (orientation: portrait) and (min-width: 621px) and (max-width: 900px) {
  .scp-reg-dash-hero {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px;
  }
  .scp-reg-dash-hero .scp-btn {
    width: 100%;
  }
  .scp-reg-dash-ring-wrap {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
  }
  .scp-reg-subtheme-switcher {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .scp-reg-dash-recent-row {
    align-items: flex-start;
  }
}

/* iPad mini / 768 px portrait : une seule colonne pour les cartes riches, mais pas pour les KPI. */
@media (orientation: portrait) and (min-width: 621px) and (max-width: 780px) {
  .scp-theme-grid,
  .scp-learning-grid,
  .scp-reg-category-grid,
  .scp-challenge-grid,
  .scp-badge-grid,
  .scp-rule-grid,
  .scp-national-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .scp-reg-subtheme-switcher {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .scp-reg-subtheme-switcher::-webkit-scrollbar {
    display: none;
  }
  .scp-reg-subtheme-tab {
    flex: 0 0 190px;
    scroll-snap-align: start;
  }
  .scp-reg-dash-ring-wrap {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }
  .scp-reg-dash-table td {
    grid-template-columns: 124px minmax(0, 1fr);
  }
}

/* Crew Institut 2.33.16 — confinement strict des réponses QCM et responsive */
.scp-question-panel,
.scp-options,
.scp-option,
.scp-option-text,
.scp-mistake,
.scp-review-card,
.scp-answer-line {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
.scp-options {
  width: 100%;
  overflow: hidden;
}
.scp-option {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  align-items: flex-start;
}
.scp-option-letter {
  flex: 0 0 auto;
}
.scp-option-text {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
.scp-question,
.scp-answer-line,
.scp-mistake,
.scp-mistake h3,
.scp-review-card,
.scp-review-card h3 {
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
.scp-mistake,
.scp-review-card {
  overflow: hidden;
}
@media (max-width: 620px) {
  .scp-option { gap: 9px; padding: 11px 10px; }
  .scp-option-text { font-size: 15.5px; line-height: 1.46; }
  .scp-question { font-size: clamp(17px, 4.7vw, 20px); line-height: 1.38; }
}
@media (max-width: 360px) {
  .scp-option { gap: 8px; padding: 10px 9px; }
  .scp-option-letter { width: 26px; height: 26px; }
  .scp-option-text { font-size: 15px; line-height: 1.43; }
}

/* Crew Institut 2.33.16 — corrigé mobile : aucun libellé, source ou réponse ne peut élargir sa carte */
.scp-reg-question-labels,
.scp-reg-question-labels > *,
.scp-explain,
.scp-source,
.scp-review-details,
.scp-review-details summary,
.scp-review-list,
.scp-mistakes,
.scp-section,
.scp-section-head,
.scp-section-head > * {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
.scp-reg-question-labels > *,
.scp-explain,
.scp-source,
.scp-review-details summary {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
@media (max-width: 420px) {
  .scp-reg-question-labels {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
    gap: 6px;
  }
  .scp-reg-domain,
  .scp-question-ref {
    display: block;
    width: auto;
    max-width: 100%;
    border-radius: 10px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .scp-mistake,
  .scp-review-card {
    padding: 11px;
  }
  .scp-review-list {
    padding-inline: 8px;
  }
}


/* Crew Institut 2.33.27 — mode Jour/Nuit et navigation Réglementarité */
.scp-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:88px}
.scp-theme-toggle svg{width:18px;height:18px;flex:none}

/* Mode jour — option disponible pendant la session ; chaque nouvelle ouverture redémarre en mode Nuit. */
.scp-root[data-ui-theme="light"]{
  --scp-blue-950:#eef4f8;
  --scp-blue-900:#e6eef4;
  --scp-blue-850:#f5f8fa;
  --scp-blue-800:#17384c;
  --scp-blue-700:#145b84;
  --scp-blue-600:#0a69a8;
  --scp-blue-500:#1284c5;
  --scp-cyan:#1877ad;
  --scp-white:#102a3a;
  --scp-text:#223c4c;
  --scp-muted:#667f8e;
  --scp-line:rgba(38,83,108,.18);
  --scp-panel:rgba(255,255,255,.98);
  --scp-panel-2:#f3f7f9;
  --scp-shadow:0 14px 36px rgba(28,58,75,.12);
  color-scheme:light;
  background:radial-gradient(circle at 80% -10%,rgba(18,132,197,.08),transparent 34%),linear-gradient(135deg,#f7fafc,#edf3f7 58%,#e9f1f5);
}
.scp-root[data-ui-theme="light"] .scp-sidebar{background:rgba(247,250,252,.96);border-right-color:var(--scp-line)}
.scp-root[data-ui-theme="light"] .scp-sidebar-note,
.scp-root[data-ui-theme="light"] .scp-section,
.scp-root[data-ui-theme="light"] .scp-panel,
.scp-root[data-ui-theme="light"] .scp-qcm-card,
.scp-root[data-ui-theme="light"] .scp-question-panel,
.scp-root[data-ui-theme="light"] .scp-review-details,
.scp-root[data-ui-theme="light"] .scp-review-card,
.scp-root[data-ui-theme="light"] .scp-reg-dash-panel,
.scp-root[data-ui-theme="light"] .scp-learning-card,
.scp-root[data-ui-theme="light"] .scp-national-card,
.scp-root[data-ui-theme="light"] .scp-national-coverage{background:rgba(255,255,255,.94)}
.scp-root[data-ui-theme="light"] .scp-reg-category-card{background:linear-gradient(145deg,#fff,#f1f6f9)}
.scp-root[data-ui-theme="light"] .scp-reg-metric,
.scp-root[data-ui-theme="light"] .scp-reg-dash-kpi{background:linear-gradient(145deg,#fff,#eef5f8)}
.scp-root[data-ui-theme="light"] .scp-reg-subtheme-content{background:linear-gradient(145deg,color-mix(in srgb,var(--subtheme-color) 5%,#fff),#f5f9fb)}
.scp-root[data-ui-theme="light"] .scp-reg-topics,
.scp-root[data-ui-theme="light"] .scp-reg-toc{background:rgba(255,255,255,.78)}
.scp-root[data-ui-theme="light"] .scp-option,
.scp-root[data-ui-theme="light"] .scp-reg-qcm-stats span,
.scp-root[data-ui-theme="light"] .scp-reg-subtheme-tab,
.scp-root[data-ui-theme="light"] .scp-rule-card,
.scp-root[data-ui-theme="light"] .scp-national-filter,
.scp-root[data-ui-theme="light"] .scp-national-source-card{background:rgba(17,79,112,.035)}
.scp-root[data-ui-theme="light"] .scp-option:hover{background:rgba(17,111,161,.07)}
.scp-root[data-ui-theme="light"] .scp-theme-card h3,
.scp-root[data-ui-theme="light"] .scp-qcm-card h3,
.scp-root[data-ui-theme="light"] .scp-reg-category-card h3,
.scp-root[data-ui-theme="light"] .scp-reg-metric strong,
.scp-root[data-ui-theme="light"] .scp-reg-subtheme-tab strong,
.scp-root[data-ui-theme="light"] .scp-reg-subtheme-heading h3,
.scp-root[data-ui-theme="light"] .scp-reg-dash-hero h2,
.scp-root[data-ui-theme="light"] .scp-reg-dash-panel h3,
.scp-root[data-ui-theme="light"] .scp-reg-dash-kpi span,
.scp-root[data-ui-theme="light"] .scp-reg-dash-table td strong,
.scp-root[data-ui-theme="light"] .scp-reg-dash-recent-row strong,
.scp-root[data-ui-theme="light"] .scp-game-home-card h2,
.scp-root[data-ui-theme="light"] .scp-game-kpi strong,
.scp-root[data-ui-theme="light"] .scp-level-progress-head strong,
.scp-root[data-ui-theme="light"] .scp-mission-content h3,
.scp-root[data-ui-theme="light"] .scp-challenge-card h3,
.scp-root[data-ui-theme="light"] .scp-rule-card strong,
.scp-root[data-ui-theme="light"] .scp-badge-card h3,
.scp-root[data-ui-theme="light"] .scp-collection-card strong,
.scp-root[data-ui-theme="light"] .scp-reward-row strong{color:var(--scp-white)}
.scp-root[data-ui-theme="light"] .scp-option-text,
.scp-root[data-ui-theme="light"] .scp-game-integrity-note{color:var(--scp-text)}
.scp-root[data-ui-theme="light"] .scp-reg-topic-list span,
.scp-root[data-ui-theme="light"] .scp-reg-coverage span{color:#235f80;background:rgba(18,132,197,.06)}
.scp-root[data-ui-theme="light"] .scp-reg-dash-ring-core{background:#eef5f8}
.scp-root[data-ui-theme="light"] .scp-reg-dash-table th{background:#dfeaf0;color:#225a78}
.scp-root[data-ui-theme="light"] .scp-reglementarite-home-card,
.scp-root[data-ui-theme="light"] .scp-reg-dash-hero{background:linear-gradient(135deg,rgba(18,132,197,.11),rgba(255,255,255,.96))}
.scp-root[data-ui-theme="light"] .scp-game-home-card{background:linear-gradient(135deg,rgba(255,183,74,.12),rgba(255,255,255,.96))}
.scp-root[data-ui-theme="light"] .scp-reglementarite-status,
.scp-root[data-ui-theme="light"] .scp-game-home-stats{background:rgba(23,72,98,.05)}

/* Table des matières interactive. */
.scp-reg-toc-section{padding:18px}
.scp-reg-toc{margin-top:12px;border:1px solid rgba(102,197,255,.2);border-radius:15px;overflow:hidden;background:rgba(7,31,46,.45)}
.scp-reg-toc-summary,.scp-reg-toc-subtheme-summary,.scp-reg-collapsible-summary{list-style:none;cursor:pointer;user-select:none}
.scp-reg-toc-summary::-webkit-details-marker,.scp-reg-toc-subtheme-summary::-webkit-details-marker,.scp-reg-collapsible-summary::-webkit-details-marker{display:none}
.scp-reg-toc-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px}
.scp-reg-toc-summary strong{color:var(--scp-white);font-size:14px}
.scp-reg-toc-summary span{color:var(--scp-muted);font-size:11px}
.scp-reg-toc[open]>.scp-reg-toc-summary{border-bottom:1px solid var(--scp-line)}
.scp-reg-toc-body{display:grid;gap:10px;padding:12px}
.scp-reg-toc-subtheme{border:1px solid var(--scp-line);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.02)}
.scp-reg-toc-subtheme-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px}
.scp-reg-toc-subtheme-summary strong{color:var(--scp-white);font-size:12px}
.scp-reg-toc-subtheme-summary span{color:var(--scp-muted);font-size:10px;text-align:right}
.scp-reg-toc-subtheme[open]>.scp-reg-toc-subtheme-summary{border-bottom:1px solid var(--scp-line)}
.scp-reg-toc-categories{display:grid;gap:12px;padding:12px}
.scp-reg-toc-category{min-width:0;padding:12px;border-left:3px solid var(--theme-color);border-radius:10px;background:rgba(255,255,255,.022)}
.scp-reg-toc-category h3{margin:0 0 9px;color:var(--scp-white);font-size:12.5px}
.scp-reg-toc-qcms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.scp-reg-toc-qcm{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:9px 10px;border:1px solid var(--scp-line);border-radius:9px;background:var(--scp-panel);color:var(--scp-text);text-align:left;cursor:pointer}
.scp-reg-toc-qcm:hover{border-color:color-mix(in srgb,var(--theme-color) 52%,transparent);background:color-mix(in srgb,var(--theme-color) 6%,var(--scp-panel))}
.scp-reg-toc-qcm-index{padding:3px 6px;border-radius:999px;background:color-mix(in srgb,var(--theme-color) 10%,transparent);color:color-mix(in srgb,var(--theme-color) 82%,var(--scp-white));font-size:9px;font-weight:850;white-space:nowrap}
.scp-reg-toc-qcm strong{min-width:0;color:var(--scp-white);font-size:10.5px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}

/* Couverture du matériel fourni : fermée par défaut, ouverture explicite au clic. */
.scp-reg-collapsible{padding:0;overflow:hidden}
.scp-reg-collapsible-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}
.scp-reg-collapsible-summary h2{margin:0;color:var(--scp-white);font-size:18px}
.scp-reg-collapsible-summary p{margin:5px 0 0;color:var(--scp-muted);font-size:11.5px}
.scp-reg-collapsible-action{flex:none;padding:6px 10px;border:1px solid var(--scp-line);border-radius:999px;color:var(--scp-cyan);font-size:10px;font-weight:800}
.scp-reg-collapsible[open]>.scp-reg-collapsible-summary{border-bottom:1px solid var(--scp-line)}
.scp-reg-collapsible>.scp-reg-topic-list{padding:16px 18px 18px}

@media(max-width:760px){
  .scp-theme-toggle{min-width:42px;width:42px;padding:0}
  .scp-theme-toggle .scp-btn-label{display:none}
  .scp-reg-toc-qcms{grid-template-columns:minmax(0,1fr)}
  .scp-reg-toc-summary,.scp-reg-toc-subtheme-summary,.scp-reg-collapsible-summary{align-items:flex-start;flex-direction:column}
  .scp-reg-collapsible-action{align-self:flex-start}
}
.scp-topbar .scp-theme-toggle{color:#fff;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.09)}
.scp-topbar .scp-theme-toggle:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.32)}
.scp-root[data-ui-theme="light"] .scp-mobile-nav{background:rgba(255,255,255,.97);box-shadow:0 14px 34px rgba(24,59,78,.18)}
.scp-root[data-ui-theme="light"] .scp-mobile-nav button.is-active{color:#fff}

/* Crew Institut 2.33.52 — authentification Firebase, validation admin et compte synchronisé */
.scp-root{position:relative}
.scp-app.is-auth-locked>.scp-topbar,
.scp-app.is-auth-locked>.scp-layout,
.scp-app.is-auth-locked>.scp-mobile-nav{pointer-events:none;user-select:none;filter:blur(2px);opacity:.38}
.scp-auth-gate{position:absolute;z-index:1200;inset:0;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:clamp(32px,7vh,80px) 18px;background:linear-gradient(180deg,rgba(1,15,27,.82),rgba(2,20,34,.94));backdrop-filter:blur(10px)}
.scp-auth-card{width:min(100%,520px);padding:28px;border:1px solid rgba(102,197,255,.22);border-radius:22px;background:linear-gradient(155deg,rgba(10,38,57,.98),rgba(5,25,39,.98));box-shadow:0 26px 80px rgba(0,0,0,.36);color:#fff}
.scp-auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.scp-auth-brand>div{display:grid;gap:2px}
.scp-auth-brand span{font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#8ecff2}
.scp-auth-brand strong{font-size:18px;color:#fff}
.scp-auth-plane{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#1284c5,#0c5f94);font-size:20px!important;color:#fff!important;box-shadow:0 10px 25px rgba(18,132,197,.26)}
.scp-auth-card h1{margin:0 0 8px;font-size:clamp(23px,4vw,31px);line-height:1.08;color:#fff}
.scp-auth-intro{margin:0 0 22px;color:#a9c0cf;font-size:13.5px;line-height:1.6;text-align:justify;text-justify:inter-word;hyphens:auto;overflow-wrap:break-word}
.scp-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;padding:5px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.035)}
.scp-auth-tab{appearance:none;border:0;border-radius:9px;padding:10px 12px;background:transparent;color:#9fb5c4;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.scp-auth-tab.is-active{background:rgba(18,132,197,.22);color:#fff;box-shadow:inset 0 0 0 1px rgba(102,197,255,.18)}
.scp-auth-form{display:grid;gap:13px}
.scp-auth-field{display:grid;gap:6px}
.scp-auth-field>span{font-size:11px;font-weight:800;color:#c9d8e1}
.scp-auth-field input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.14);border-radius:11px;padding:12px 13px;background:rgba(255,255,255,.055);color:#fff;font:inherit;font-size:13px;outline:none}
.scp-auth-field input::placeholder{color:#7690a0}
.scp-auth-field input:focus{border-color:#66c5ff;box-shadow:0 0 0 3px rgba(102,197,255,.1)}
.scp-auth-submit{width:100%;justify-content:center;margin-top:3px}
.scp-auth-link{appearance:none;border:0;background:transparent;color:#79c9f5;font:inherit;font-size:11.5px;font-weight:800;cursor:pointer;padding:8px;text-align:center}
.scp-auth-note{margin:0;padding:11px 12px;border-radius:10px;background:rgba(102,197,255,.065);color:#9fb7c7;font-size:11px;line-height:1.5}
.scp-auth-status{margin-bottom:4px;padding:10px 12px;border-radius:10px;background:rgba(51,190,144,.1);border:1px solid rgba(51,190,144,.18);color:#bff2df;font-size:11.5px;line-height:1.45}
.scp-auth-status.is-error{background:rgba(229,72,77,.1);border-color:rgba(229,72,77,.2);color:#ffc6c8}
.scp-auth-loading{display:flex;align-items:center;gap:10px;padding:14px 0;color:#b4cad8;font-size:12px}
.scp-auth-email{margin:2px 0 18px;padding:11px 12px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.04);color:#e8f5fc;font-size:13px;font-weight:750;overflow-wrap:anywhere}
.scp-auth-actions{display:grid;gap:9px}
.scp-auth-pending{display:grid;gap:4px;margin:2px 0 18px;padding:14px;border-radius:12px;background:rgba(255,183,74,.08);border:1px solid rgba(255,183,74,.16)}
.scp-auth-pending strong{color:#ffd798;font-size:12px}
.scp-auth-pending span{color:#b7c6cf;font-size:11.5px;line-height:1.45}
.scp-top-actions{display:flex;align-items:center;gap:8px}
.scp-account-wrap{position:relative}
.scp-account-trigger{color:#fff;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.09)}
.scp-account-menu{position:absolute;z-index:850;right:0;top:calc(100% + 9px);width:250px;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:#09283b;box-shadow:0 18px 46px rgba(0,0,0,.3)}
.scp-account-identity{display:grid;gap:3px;padding:9px 10px 11px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:5px}
.scp-account-identity strong{color:#fff;font-size:12px}
.scp-account-identity span{color:#8faaba;font-size:10.5px;overflow-wrap:anywhere}
.scp-account-action{width:100%;appearance:none;border:0;border-radius:8px;padding:9px 10px;background:transparent;color:#d7e6ee;text-align:left;font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.scp-account-action:hover{background:rgba(255,255,255,.07)}
.scp-account-action.is-danger{color:#ffb9bc}
.scp-admin-overlay{position:absolute;z-index:1300;inset:0;min-height:100vh;padding:24px;background:rgba(0,9,16,.8);backdrop-filter:blur(8px)}
.scp-admin-panel{width:min(1100px,100%);max-height:calc(100vh - 48px);overflow:auto;margin:0 auto;border:1px solid rgba(102,197,255,.2);border-radius:20px;background:#08263a;box-shadow:0 26px 80px rgba(0,0,0,.4)}
.scp-admin-head{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(8,38,58,.97);backdrop-filter:blur(10px)}
.scp-admin-head span{display:block;margin-bottom:4px;color:#70c9f4;font-size:9.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.scp-admin-head h2{margin:0;color:#fff;font-size:22px}
.scp-admin-head p{margin:5px 0 0;color:#91aebe;font-size:11.5px}
.scp-admin-body{padding:20px}
.scp-admin-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:baseline;gap:7px 10px;margin-bottom:16px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035)}
.scp-admin-summary strong{font-size:23px;color:#fff}
.scp-admin-summary span{font-size:11px;color:#9db3c0}
.scp-admin-users{display:grid;gap:10px}
.scp-admin-user{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.025)}
.scp-admin-user-copy{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center}
.scp-admin-user-copy strong{min-width:0;color:#fff;font-size:12.5px;overflow-wrap:anywhere}
.scp-admin-user-copy span{grid-column:1;color:#91aebe;font-size:10.5px;overflow-wrap:anywhere}
.scp-admin-user-copy small{grid-column:2;grid-row:1/3;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850}
.scp-admin-user-copy small.is-approved{color:#bff2df;background:rgba(51,190,144,.12)}
.scp-admin-user-copy small.is-pending{color:#ffdda4;background:rgba(255,183,74,.12)}
.scp-admin-user-copy small.is-rejected,.scp-admin-user-copy small.is-blocked{color:#ffc2c4;background:rgba(229,72,77,.12)}
.scp-admin-user-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.scp-admin-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:14px;border-radius:12px;background:rgba(255,255,255,.035)}
.scp-admin-result-head h3{margin:0;color:#fff;font-size:17px}
.scp-admin-result-head p{margin:4px 0 0;color:#8faaba;font-size:10.5px}
.scp-admin-result-head>strong{color:#79c9f5;font-size:12px}
.scp-admin-results{display:grid;gap:8px}
.scp-admin-result-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.02)}
.scp-admin-result-row>div{display:grid;gap:3px;min-width:0}
.scp-admin-result-row strong{color:#eaf5fb;font-size:11.5px;overflow-wrap:anywhere}
.scp-admin-result-row span{color:#879fad;font-size:10px}
.scp-admin-result-row b{flex:none;color:#7fd2fb;font-size:12px}
/* L'écran d'accès reste volontairement en fond Nuit, même si le mode Jour
   a été activé dans l'application avant une déconnexion. */
.scp-root[data-ui-theme="light"] .scp-auth-gate{color-scheme:dark;background:linear-gradient(180deg,rgba(1,15,27,.82),rgba(2,20,34,.94))}
.scp-root[data-ui-theme="light"] .scp-auth-card{background:linear-gradient(155deg,rgba(10,38,57,.98),rgba(5,25,39,.98));border-color:rgba(102,197,255,.22);box-shadow:0 26px 80px rgba(0,0,0,.36);color:#fff}
.scp-root[data-ui-theme="light"] .scp-auth-card h1,.scp-root[data-ui-theme="light"] .scp-auth-brand strong{color:#fff}
.scp-root[data-ui-theme="light"] .scp-auth-intro{color:#a9c0cf}
.scp-root[data-ui-theme="light"] .scp-auth-note{background:rgba(102,197,255,.065);color:#9fb7c7}
.scp-root[data-ui-theme="light"] .scp-auth-field>span{color:#c9d8e1}
.scp-root[data-ui-theme="light"] .scp-auth-field input{background:rgba(255,255,255,.055);color:#fff;border-color:rgba(255,255,255,.14)}
.scp-root[data-ui-theme="light"] .scp-auth-field input::placeholder{color:#7690a0}
.scp-root[data-ui-theme="light"] .scp-auth-tabs{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09)}
.scp-root[data-ui-theme="light"] .scp-auth-tab{color:#9fb5c4}
.scp-root[data-ui-theme="light"] .scp-auth-tab.is-active{background:rgba(18,132,197,.22);color:#fff;box-shadow:inset 0 0 0 1px rgba(102,197,255,.18)}
.scp-root[data-ui-theme="light"] .scp-account-trigger{color:#fff}
@media(max-width:760px){
  .scp-auth-gate{padding:18px 10px;align-items:flex-start}
  .scp-auth-card{padding:20px 16px;border-radius:16px}
  .scp-account-trigger{min-width:42px;width:auto;padding-inline:10px;font-size:10px}
  .scp-account-menu{position:fixed;top:66px;right:10px;left:10px;width:auto}
  .scp-admin-overlay{padding:10px}
  .scp-admin-panel{max-height:calc(100vh - 20px)}
  .scp-admin-head{padding:15px;align-items:flex-start}
  .scp-admin-body{padding:12px}
  .scp-admin-summary{grid-template-columns:auto 1fr}
  .scp-admin-user{grid-template-columns:1fr}
  .scp-admin-user-actions{justify-content:flex-start}
  .scp-admin-result-head{align-items:flex-start;flex-direction:column}
}


/* Crew Institut 2.33.59 — texte connexion justifié + contrôles admin sans flash */
.scp-admin-only[hidden]{display:none!important}

/* Crew Institut 2.33.77 — correctif iPhone portrait/paysage et pages internes
   - l'application métier sort des colonnes WordPress sur écrans tactiles ;
   - la navigation mobile historique à 10 entrées ne peut plus déborder ;
   - un seul retour vers le poste de pilotage reste affiché sur mobile/tablette ;
   - toutes les cartes et zones de contenu restent confinées au viewport. */

.scp-app,
.scp-layout,
.scp-main,
.scp-main > *,
.scp-page-head,
.scp-section,
.scp-panel,
.scp-game-integrity-note,
.scp-game-home-card,
.scp-game-kpis,
.scp-rotation-map,
.scp-challenge-grid,
.scp-badge-grid,
.scp-collection-grid,
.scp-rule-grid,
.scp-reglementarite-home-card,
.scp-reg-category-grid,
.scp-learning-grid,
.scp-national-grid {
  min-width:0;
  max-width:100%;
}

.scp-main > *,
.scp-game-integrity-note,
.scp-game-home-card,
.scp-panel,
.scp-section {
  width:100%;
}

.scp-mobile-launcher-return{display:none}
.scp-mobile-launcher-return svg{width:18px;height:18px;flex:none}

/* iPhone portrait, smartphones Android et petites tablettes. */
@media (max-width:820px),
       (orientation:landscape) and (max-height:500px) and (max-width:950px),
       (max-width:1180px) and (hover:none) and (pointer:coarse) {
  /* Mode application plein écran : on ne dépend plus de la largeur/overflow du thème WordPress. */
  .scp-root:not(.is-launcher-open) .scp-app{
    position:fixed;
    z-index:500;
    inset:0;
    width:100vw;
    max-width:100vw;
    height:100dvh;
    min-height:100svh;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    background:
      radial-gradient(circle at 80% -10%,rgba(11,105,168,.22),transparent 32%),
      linear-gradient(135deg,#061522,#06111c 55%,#071c2a);
  }
  .scp-root[data-ui-theme="light"]:not(.is-launcher-open) .scp-app{
    background:
      radial-gradient(circle at 80% -10%,rgba(18,132,197,.08),transparent 34%),
      linear-gradient(135deg,#f7fafc,#edf3f7 58%,#e9f1f5);
  }
  .admin-bar .scp-root:not(.is-launcher-open) .scp-app{
    top:46px;
    height:calc(100dvh - 46px);
    min-height:calc(100svh - 46px);
  }

  .scp-layout{
    width:100%;
    max-width:100%;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .scp-sidebar{display:none!important}
  .scp-main{
    width:100%!important;
    max-width:100%!important;
    padding-left:max(14px,env(safe-area-inset-left))!important;
    padding-right:max(14px,env(safe-area-inset-right))!important;
    padding-bottom:calc(84px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden;
  }

  /* Sur mobile, le poste de pilotage devient le seul sélecteur de modules.
     Cela supprime la rangée horizontale tronquée observée sur iPhone. */
  .scp-mobile-nav{
    position:fixed!important;
    z-index:560!important;
    left:max(10px,env(safe-area-inset-left))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:auto!important;
    max-width:none!important;
    min-height:0!important;
    padding:6px!important;
    overflow:visible!important;
    border-radius:15px!important;
  }
  .scp-mobile-nav [data-screen]{display:none!important}
  .scp-mobile-nav .scp-mobile-launcher-return{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:min(100%,430px)!important;
    min-width:0!important;
    min-height:48px!important;
    padding:9px 14px!important;
    border:1px solid rgba(112,207,244,.2)!important;
    border-radius:11px!important;
    background:rgba(9,105,168,.18)!important;
    color:var(--scp-white)!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:normal!important;
    line-height:1.2!important;
    box-shadow:none!important;
  }
  .scp-root[data-ui-theme="light"] .scp-mobile-nav .scp-mobile-launcher-return{
    background:rgba(18,132,197,.08)!important;
    border-color:rgba(18,119,173,.18)!important;
    color:#17384c!important;
  }
  .scp-mobile-nav .scp-mobile-launcher-return:active{
    transform:translateY(1px) scale(.995);
    background:rgba(9,105,168,.3)!important;
  }

  .scp-page-head,
  .scp-section-head,
  .scp-reg-dash-section-head,
  .scp-reg-subtheme-heading{
    max-width:100%;
  }
  .scp-page-title,
  .scp-page-sub,
  .scp-game-integrity-note,
  .scp-game-integrity-note *,
  .scp-panel *,
  .scp-mission-content,
  .scp-mission-content *,
  .scp-challenge-card *,
  .scp-rule-card *,
  .scp-badge-card *,
  .scp-learning-card *,
  .scp-reg-category-card *,
  .scp-national-card *{
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .scp-root img,.scp-root svg,.scp-root canvas,.scp-root video,.scp-root iframe{max-width:100%}
}

/* Portrait téléphone : aucun bloc ne doit se retrouver à demi-largeur. */
@media (max-width:520px) and (orientation:portrait){
  .scp-main{
    padding-top:14px!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
  }
  .scp-page-head{display:block!important;padding-bottom:14px!important}
  .scp-eyebrow{font-size:10.5px;line-height:1.35;letter-spacing:.16em}
  .scp-page-title{font-size:clamp(23px,7.2vw,30px)!important;line-height:1.08!important}
  .scp-page-sub{max-width:none!important;font-size:12.5px!important;line-height:1.52!important}
  .scp-page-head>.scp-btn{width:100%;margin-top:12px}
  .scp-game-integrity-note{padding:13px 14px!important;margin-bottom:12px!important;font-size:12.5px!important;line-height:1.5!important}
  .scp-game-home-card,
  .scp-reglementarite-home-card,
  .scp-apprentissage-home-card,
  .scp-national-home-card{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .scp-game-kpis,
  .scp-kpis,
  .scp-learning-overview,
  .scp-reg-overview,
  .scp-reg-dash-kpis,
  .scp-challenge-grid,
  .scp-badge-grid,
  .scp-rule-grid,
  .scp-theme-grid,
  .scp-qcm-grid,
  .scp-learning-grid,
  .scp-reg-category-grid,
  .scp-national-grid{grid-template-columns:minmax(0,1fr)!important}
  .scp-mission-card{grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;padding:13px!important}
  .scp-mission-marker{width:38px!important;height:38px!important}
  .scp-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* iPhone en paysage : la largeur est grande mais la hauteur est faible ;
   on conserve deux colonnes utiles et on réduit uniquement les hauteurs/marges. */
@media (orientation:landscape) and (max-height:500px) and (max-width:950px){
  .scp-topbar{
    position:sticky!important;
    top:0!important;
    height:52px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    padding-left:max(10px,env(safe-area-inset-left))!important;
    padding-right:max(10px,env(safe-area-inset-right))!important;
    gap:8px!important;
  }
  .scp-connection{display:none!important}
  .scp-brand{justify-content:flex-start!important}
  .scp-brand-mark{width:32px!important;height:32px!important;border-radius:9px!important}
  .scp-brand-copy strong{font-size:13px!important}
  .scp-brand-copy span{display:none!important}
  .scp-top-actions{gap:5px!important}
  .scp-top-actions .scp-btn{min-height:34px!important;padding:6px 9px!important;font-size:11px!important}
  .scp-theme-toggle{width:36px!important;min-width:36px!important}
  .scp-main{
    padding-top:10px!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
    padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;
  }
  .scp-page-head{padding-bottom:10px!important;gap:10px!important}
  .scp-eyebrow{margin-bottom:4px!important;font-size:9px!important}
  .scp-page-title{font-size:22px!important;line-height:1.05!important}
  .scp-page-sub{margin-top:5px!important;font-size:11px!important;line-height:1.35!important}
  .scp-section{margin-top:14px!important}
  .scp-game-integrity-note{margin-bottom:10px!important;padding:10px 12px!important;font-size:11px!important;line-height:1.38!important}
  .scp-game-kpis,.scp-kpis,.scp-learning-overview,.scp-reg-overview,.scp-reg-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .scp-theme-grid,.scp-qcm-grid,.scp-learning-grid,.scp-reg-category-grid,.scp-challenge-grid,.scp-badge-grid,.scp-rule-grid,.scp-national-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .scp-game-kpi,.scp-kpi{min-height:64px!important;padding:10px!important}
  .scp-mobile-nav{left:50%!important;right:auto!important;transform:translateX(-50%);width:min(360px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 24px))!important}
  .scp-mobile-nav .scp-mobile-launcher-return{min-height:42px!important;font-size:11px!important}
}

/* Admin bar WordPress en tablette : 32 px à partir de 783 px. */
@media (min-width:783px) and (max-width:1180px) and (hover:none) and (pointer:coarse){
  .admin-bar .scp-root:not(.is-launcher-open) .scp-app{
    top:32px;
    height:calc(100dvh - 32px);
    min-height:calc(100svh - 32px);
  }
}

/* 2.33.77 — décision finale navigation mobile : le poste de pilotage remplace l'ancienne
   barre multi-modules. Le bouton Retour de l'en-tête est sticky et reste accessible ;
   la barre basse est donc supprimée pour ne masquer aucun contenu sur iPhone. */
@media (max-width:820px),
       (orientation:landscape) and (max-height:500px) and (max-width:950px),
       (max-width:1180px) and (hover:none) and (pointer:coarse) {
  .scp-mobile-nav{display:none!important}
  .scp-main{padding-bottom:max(22px,calc(16px + env(safe-area-inset-bottom)))!important}
  .scp-toast{bottom:max(14px,calc(10px + env(safe-area-inset-bottom)))!important}
  .scp-launcher-return{display:inline-flex!important;align-items:center!important;justify-content:center!important}
}
@media (max-width:520px) and (orientation:portrait){
  .scp-launcher-return .scp-btn-label{display:inline!important}
}
@media (orientation:landscape) and (max-height:500px) and (max-width:950px){
  .scp-main{padding-bottom:max(14px,env(safe-area-inset-bottom))!important}
}

/* Crew Institut 2.34.5 — portrait iPhone / iPad stabilisé. */
@media (orientation:portrait) and (max-width:1024px){
  html,body{max-width:100%;overflow-x:hidden}
  .scp-root,.scp-app,.scp-layout,.scp-main{width:100%!important;max-width:100%!important;min-width:0!important}
  .scp-root{min-height:100svh}
  .scp-app{min-height:100svh}
  .scp-topbar{
    position:sticky!important;
    top:var(--wp-admin--admin-bar--height,0px)!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    height:64px!important;
    padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))!important;
    gap:10px!important;
  }
  .scp-connection{display:none!important}
  .scp-brand{justify-content:flex-start!important;overflow:hidden}
  .scp-brand-mark{flex:0 0 auto}
  .scp-brand-copy{min-width:0;text-align:left}
  .scp-brand-copy strong,.scp-brand-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .scp-top-actions{min-width:0;gap:6px!important}
  .scp-top-actions>.scp-btn,.scp-account-trigger{min-height:38px!important;padding:7px 10px!important;font-size:11px!important}
  .scp-main{
    padding:18px max(16px,env(safe-area-inset-right)) max(26px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important;
  }
  .scp-page-head{gap:12px!important}
  .scp-page-sub{max-width:100%!important}
  .scp-section,.scp-panel,.scp-card,.scp-hero,.scp-question-panel,.scp-results-panel{max-width:100%;min-width:0}
  .scp-modal-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important}
  .scp-modal{width:min(100%,720px)!important;max-height:calc(100svh - 24px)!important;overflow:auto!important}
  .scp-account-menu{max-width:calc(100vw - 24px)!important}
  .scp-admin-overlay{position:fixed!important;inset:0!important;overflow:auto!important}
  .scp-admin-panel{width:100%!important;max-height:calc(100svh - 20px)!important}
}

/* iPad portrait : 9 accès = grille 3 × 3 lisible et contenus en deux colonnes. */
@media (orientation:portrait) and (min-width:621px) and (max-width:1024px){
  .scp-switch-wrap{width:min(100%,920px)!important;max-height:none!important}
  .scp-switch-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(10px,1.7vw,16px)!important}
  .scp-switch{min-height:clamp(132px,15.2svh,168px)!important}
  .scp-switch-label{font-size:clamp(13px,1.8vw,17px)!important}
  .scp-switch-sub{font-size:clamp(9px,1.2vw,11.5px)!important}
  .scp-top-actions>.scp-btn,.scp-account-trigger{white-space:nowrap}
  .scp-kpis,.scp-game-kpis,.scp-learning-overview,.scp-reg-overview,.scp-reg-dash-kpis,.scp-theme-grid,.scp-qcm-grid,.scp-learning-grid,.scp-reg-category-grid,.scp-challenge-grid,.scp-badge-grid,.scp-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .scp-reg-dash-overview,.scp-learning-memo-hero,.scp-reg-qcm-stats{grid-template-columns:minmax(0,1fr)!important}
  .scp-question-panel,.scp-results-panel,.scp-learning-synthesis,.scp-reg-dash-panel{padding:clamp(18px,2.6vw,26px)!important}
}

/* iPhone portrait : deux colonnes régulières ; la neuvième carte occupe la ligne. */
@media (orientation:portrait) and (max-width:620px){
  .scp-topbar{height:58px!important;padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right))!important;gap:5px!important}
  .scp-brand-mark{width:34px!important;height:34px!important;border-radius:9px!important}
  .scp-brand-mark svg{width:18px!important;height:18px!important}
  .scp-brand-copy strong{font-size:13px!important}
  .scp-brand-copy span{display:none!important}
  .scp-top-actions{gap:4px!important}
  .scp-top-actions>.scp-btn,.scp-account-trigger{min-width:34px!important;min-height:34px!important;padding:5px 7px!important;font-size:9.5px!important;border-radius:8px!important}
  .scp-launcher-return .scp-btn-label,.scp-theme-toggle .scp-btn-label{display:none!important}
  .scp-launcher-return svg,.scp-theme-toggle svg{width:15px!important;height:15px!important}
  .scp-offline-btn{max-width:62px;overflow:hidden;text-overflow:ellipsis}
  .scp-install-btn{display:none!important}
  .scp-main{padding:14px max(11px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(11px,env(safe-area-inset-left))!important}
  .scp-switch-wrap{padding:13px 9px 15px!important}
  .scp-switch-head{align-items:flex-start!important}
  .scp-switch-head-clock small{white-space:normal!important;text-align:right}
  .scp-switch-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .scp-switch{min-height:116px!important;padding:10px!important}
  .scp-switch-grid>.scp-switch:last-child:nth-child(odd){grid-column:1/-1;min-height:100px!important}
  .scp-switch-grid>.scp-switch:last-child:nth-child(odd) .scp-switch-foot{flex-direction:row;align-items:flex-end}
  .scp-switch-label{font-size:11.5px!important;line-height:1.18!important}
  .scp-switch-sub{font-size:8.5px!important;line-height:1.25!important}
  .scp-page-title{font-size:clamp(22px,7vw,28px)!important}
  .scp-page-sub{font-size:12px!important;line-height:1.48!important}
  .scp-page-head>.scp-btn{width:100%!important}
  .scp-kpis,.scp-game-kpis,.scp-learning-overview,.scp-reg-overview,.scp-reg-dash-kpis,.scp-theme-grid,.scp-qcm-grid,.scp-learning-grid,.scp-reg-category-grid,.scp-challenge-grid,.scp-badge-grid,.scp-rule-grid{grid-template-columns:minmax(0,1fr)!important}
  .scp-reg-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .scp-question-panel,.scp-results-panel,.scp-learning-synthesis,.scp-reg-dash-panel,.scp-panel{padding:14px!important}
  .scp-option{width:100%!important;min-width:0!important;padding:12px!important}
  .scp-option-text{font-size:15px!important;overflow-wrap:anywhere}
  .scp-quiz-actions,.scp-results-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  .scp-quiz-actions .scp-btn,.scp-results-actions .scp-btn{width:100%!important;min-width:0!important}
  .scp-account-menu{position:fixed!important;top:64px!important;right:8px!important;left:8px!important;width:auto!important}
  .scp-auth-gate{padding:10px!important}
  .scp-auth-card{width:100%!important;padding:17px 14px!important}
  .scp-auth-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .scp-auth-form input{width:100%!important;min-width:0!important}
}
