/* Anatole — couche d'interface transverse */
.content-stage{position:relative;min-width:0;min-height:calc(100vh - var(--mobile-topbar))}
.route-page{position:relative;z-index:1}
.blinds-curtain{--blinds-count:16;position:fixed;z-index:100;inset:0;display:grid;grid-template-rows:repeat(var(--blinds-count),1fr);visibility:hidden;pointer-events:none}
.blinds-curtain.active{visibility:visible;pointer-events:auto;cursor:wait}
.blinds-slat{position:relative;width:100%;height:100%;background:var(--blinds-color,var(--color-orange));opacity:0;transform:scaleY(.018);transform-origin:50% 0%;will-change:transform,opacity;box-shadow:0 -1px 0 color-mix(in srgb,var(--blinds-color,var(--color-orange)) 70%,#000)}
.blinds-slat::after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:rgba(0,0,0,.17)}

.card{min-width:0;padding:clamp(20px,3vw,30px);border:1px solid var(--color-border);border-radius:var(--radius-card);background:linear-gradient(145deg,rgba(16,32,51,.74),rgba(10,20,32,.82));box-shadow:inset 0 1px rgba(255,255,255,.025)}
.open-section{min-width:0;padding-block:4px}.open-section>.eyebrow+.h2,.open-section>.eyebrow+h2{margin-top:10px}

/* Boutons : un vocabulaire unique de reveal, déplacement et flèche. */
.button{position:relative;isolation:isolate;display:inline-flex;min-height:48px;overflow:hidden;align-items:center;justify-content:center;gap:12px;padding:12px 18px;border:1px solid var(--color-border-strong);border-radius:var(--radius-button);background:rgba(13,25,39,.72);color:var(--color-text);font-size:.88rem;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;transition:border-color var(--motion-fast),color var(--motion-fast),transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast)}
.button::before{content:"";position:absolute;z-index:-1;inset:-1px;background:var(--color-surface-high);transform:translateY(103%);transition:transform var(--motion-ui) var(--ease-standard)}
.button:hover{border-color:rgba(247,249,252,.34);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.2)}.button:hover::before{transform:translateY(0)}.button:active{transform:translateY(0) scale(.985)}
.button.primary{border-color:var(--color-orange);background:var(--color-orange);color:#070a0e;box-shadow:0 10px 34px rgba(255,108,47,.14)}
.button.primary::before{background:#f8fbff}.button.primary:hover{border-color:#f8fbff;background:var(--color-orange);color:#07101b}.button>span[aria-hidden]{font-size:1.1rem;transition:transform var(--motion-ui) var(--ease-spring)}.button:hover>span[aria-hidden]{transform:translateX(4px) rotate(-12deg)}
.button:disabled,.button[aria-disabled="true"]{cursor:wait;opacity:.55;transform:none}.button.danger{border-color:var(--color-error);background:transparent;color:var(--color-error)}.button.danger::before{background:var(--color-error)}.button.danger:hover{color:#07101b;background:transparent}
.text-link,.back-link{display:inline-flex;min-height:45px;align-items:center;color:var(--color-blue-soft);font-size:.86rem;font-weight:600;text-underline-offset:5px}.back-link{width:max-content;text-decoration:none}.back-link:hover{color:var(--color-text)}
.text-button{min-height:44px;padding:6px;border:0;background:transparent;color:var(--color-blue-soft);font-size:.82rem;text-decoration:underline;text-underline-offset:4px}
.tag,.status-pill{display:inline-flex;min-height:28px;align-items:center;padding:5px 9px;border:1px solid var(--color-border);border-radius:999px;background:rgba(16,32,51,.62);color:var(--color-secondary);font:600 .62rem/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.tag.accent{border-color:rgba(255,108,47,.4);background:rgba(255,108,47,.11);color:var(--color-orange-soft)}
.notice{margin:0;padding:13px 16px;border-left:3px solid var(--color-blue);background:rgba(95,143,255,.10);color:var(--color-copy);font-size:.87rem}.meter{height:4px;overflow:hidden;border-radius:8px;background:rgba(247,249,252,.09)}.meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-orange),var(--color-orange-soft))}
.section-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.section-heading>.muted{font-size:.82rem}
.status-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:72px;padding-top:18px;border-top:1px solid var(--color-border);color:var(--color-muted);font:500 .68rem/1.4 var(--font-mono)}.shell-status{max-width:calc(var(--content-max) - 36px);margin:0 18px;padding:20px 0 var(--nav-clearance)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--color-success);box-shadow:0 0 10px rgba(156,231,183,.45)}

/* Shell persistant */
.app-header{position:fixed;z-index:var(--z-shell);inset:0 0 auto;height:var(--mobile-topbar);display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--color-border);background:rgba(4,7,11,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);pointer-events:none}.app-header a{pointer-events:auto}
.brand{display:flex;min-width:0;min-height:44px;align-items:center;gap:11px;text-decoration:none}.brand>div{min-width:0}.brand-mark{position:relative;display:grid;width:38px;height:38px;flex-shrink:0;place-items:center;border:1px solid rgba(255,108,47,.5);border-radius:50%;background:transparent;color:var(--color-text);font:600 .9rem var(--font-mono)}.brand-mark::after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid rgba(255,108,47,.28)}.brand-name{color:var(--color-text);font-size:.9rem;font-weight:650;letter-spacing:-.02em}.course-label{color:var(--color-muted);font:500 .55rem/1.3 var(--font-mono);letter-spacing:.12em;white-space:nowrap}
.header-route,.local-save-state{display:none}.header-meta{display:flex;align-items:center}.header-about{display:inline-flex;min-height:44px;align-items:center;color:var(--color-secondary);font-size:.76rem;font-weight:600;text-decoration:none}.header-about:hover,.header-about[aria-current="page"]{color:var(--color-text)}
.page{width:100%;max-width:var(--content-max);margin-inline:auto;padding:clamp(38px,7vw,72px) clamp(18px,5vw,48px) calc(var(--nav-clearance) + var(--resume-clearance,0px));container-type:inline-size}.content-stage{padding-top:var(--mobile-topbar)}

.bottom-nav{--item-width:calc((100% - 12px)/5);position:fixed;z-index:var(--z-nav);inset:auto 8px max(8px,env(safe-area-inset-bottom));height:var(--mobile-nav-height);padding:6px;border:1px solid var(--color-border-strong);border-radius:20px;background:rgba(7,16,27,.9);box-shadow:var(--shadow-float);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.institution-view .bottom-nav{display:none}
.nav-inner{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.nav-link{display:flex;min-width:0;min-height:60px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px 1px;border-radius:15px;background:transparent;color:var(--color-muted);font-size:.61rem;font-weight:600;line-height:1;text-align:center;text-decoration:none;transition:color var(--motion-ui) var(--ease-standard),transform var(--motion-ui) var(--ease-spring)}.nav-link svg{width:20px;height:20px}.nav-link[aria-current="page"]{background:transparent;color:var(--color-text);transform:translateY(-4px)}
.nav-signal{position:absolute;z-index:1;top:6px;left:6px;width:var(--item-width);height:62px;border:1px solid rgba(255,108,47,.18);border-radius:16px;background:linear-gradient(180deg,rgba(255,108,47,.13),rgba(255,108,47,.025));opacity:0;transform:translateX(calc(var(--active-index) * 100%));transition:transform var(--motion-ui) var(--ease-spring),opacity var(--motion-fast)}.has-active .nav-signal{opacity:1}.nav-signal-core{position:absolute;left:50%;bottom:3px;width:18px;height:4px;border-radius:999px;background:var(--color-orange);box-shadow:0 0 18px rgba(255,108,47,.65);transform:translateX(-50%)}

/* Composants interactifs */
select{width:100%;height:48px;min-height:48px;padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-button);background:var(--color-surface-raised);color:var(--color-text)}summary{min-height:48px;padding-block:12px;cursor:pointer;color:var(--color-text);font-weight:600}
.simple-list,.timeline,.activity-list,.difficulty-list{list-style:none;padding:0}.simple-list{margin-top:14px}.simple-list li{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--color-border)}.simple-list li:last-child{border:0}.simple-list a{padding-block:12px;color:var(--color-text);font-weight:550;text-decoration-thickness:1px;text-underline-offset:4px}
.skill-list{list-style:none;padding:0;margin:16px 0 0}.skill-list>li{display:grid;gap:10px;padding:18px 0;border-bottom:1px solid var(--color-border)}.skill-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}

.question-stem{margin:30px 0 24px;color:var(--color-text);font:550 clamp(1.45rem,3vw,2rem)/1.34 var(--font-body);letter-spacing:-.035em;white-space:pre-wrap}.question-fieldset{min-width:0;margin:0;padding:0;border:0}.question-fieldset legend{margin-bottom:14px;padding:0}.question-option{position:relative;display:flex;min-height:66px;align-items:flex-start;gap:14px;margin-bottom:10px;padding:17px;border:1px solid var(--color-border);border-radius:13px;background:rgba(10,20,32,.7);cursor:pointer;scroll-margin-bottom:calc(var(--mobile-nav-height) + 100px);transition:transform var(--motion-fast) var(--ease-standard),border-color var(--motion-fast),background var(--motion-fast)}.question-option:hover{border-color:rgba(247,249,252,.3);transform:translateX(3px)}.question-option input{width:20px;height:20px;flex-shrink:0;margin:3px 0 0;accent-color:var(--color-orange)}.question-option:has(input:checked):not(.answer-correct):not(.answer-incorrect){border-color:var(--color-blue);background:rgba(95,143,255,.10)}.question-option:has(input:focus-visible){outline:2px solid var(--color-blue);outline-offset:3px}.question-option.answer-correct{border-color:var(--color-success);background:rgba(156,231,183,.10)}.question-option.answer-incorrect{border-color:var(--color-error);background:rgba(255,124,116,.09)}.option-state{display:block;margin-top:7px;color:var(--color-secondary);font-size:.78rem;font-weight:600}.feedback-panel{display:grid;gap:18px;margin-top:20px;padding:22px;border:1px solid var(--color-border);border-left:3px solid var(--color-blue);border-radius:14px;background:var(--color-surface-raised)}.feedback-panel.is-correct{border-left-color:var(--color-success)}.feedback-panel.is-incorrect{border-left-color:var(--color-error)}.feedback-panel h3{margin-bottom:6px;color:var(--color-secondary);font:600 .65rem var(--font-mono);text-transform:uppercase;letter-spacing:.09em}.feedback-panel p,.feedback-panel li{font-size:.94rem}.feedback-panel .takeaway{padding-top:14px;border-top:1px solid var(--color-border)}
.session-actions{position:sticky;z-index:4;bottom:calc(var(--mobile-nav-height) + max(18px,env(safe-area-inset-bottom)));display:grid;gap:5px;margin-top:22px;padding:10px;border:1px solid var(--color-border-strong);border-radius:14px;background:rgba(4,7,11,.9);backdrop-filter:blur(18px)}.session-actions .text-link{justify-content:center}

@media(min-width:900px){
  html{scroll-padding-bottom:var(--nav-clearance)}.app-header{height:var(--desktop-topbar);grid-template-columns:var(--sidebar-width) minmax(0,1fr) auto;padding:0 28px 0 24px}.header-route{display:flex;align-items:center;gap:7px;color:var(--color-muted);font:500 .62rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.header-route strong{font:inherit;color:var(--color-copy)}.header-meta{gap:24px}.local-save-state{display:flex;align-items:center;gap:8px;color:var(--color-muted);font:500 .6rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
  .content-stage{min-height:100vh;padding:var(--desktop-topbar) 0 0 var(--sidebar-width)}
  .page{max-width:var(--content-max);padding:clamp(52px,5vw,80px) clamp(48px,6vw,92px) calc(var(--nav-clearance) + var(--resume-clearance,0px))}
  .shell-status{max-width:calc(var(--content-max) - 184px);margin:0 auto 0 var(--sidebar-width);padding:20px clamp(48px,6vw,92px) var(--nav-clearance)}
  .bottom-nav{--item-height:56px;position:fixed;z-index:var(--z-nav);inset:var(--desktop-topbar) auto 0 0;width:var(--sidebar-width);height:auto;padding:34px 18px;border:0;border-right:1px solid var(--color-border);border-radius:0;background:rgba(4,7,11,.54);box-shadow:none;backdrop-filter:blur(18px)}
  .nav-inner{height:auto;display:grid;grid-template-columns:1fr;gap:4px}.nav-link{min-height:var(--item-height);flex-direction:row;justify-content:flex-start;gap:14px;padding:11px 14px;color:var(--color-muted);font-size:.82rem;text-align:left}.nav-link svg{width:19px;height:19px}.nav-link[aria-current="page"]{color:var(--color-text);transform:translateX(5px)}
  .nav-signal{top:34px;left:18px;width:calc(100% - 36px);height:var(--item-height);border-radius:13px;transform:translateY(calc(var(--active-index) * (var(--item-height) + 4px)));background:linear-gradient(90deg,rgba(255,108,47,.13),rgba(255,108,47,.025))}.nav-signal-core{left:0;bottom:auto;top:50%;width:4px;height:22px;transform:translate(-1px,-50%)}
  .session-actions{bottom:18px}.institution-view .bottom-nav{display:none}.institution-view .content-stage{padding-left:0}.institution-view .page{max-width:1320px}.institution-view .shell-status{margin-left:0;max-width:100%}
}

@media(max-width:560px){.app-header{padding-inline:14px}.header-about{font-size:.7rem}.page{padding-inline:16px}.brand-name{font-size:.82rem}.bottom-nav{inset-inline:6px}.nav-link{font-size:.58rem}.button{width:100%}}
@media(max-width:350px){.nav-label{font-size:.55rem;letter-spacing:-.02em}.nav-link svg{width:18px;height:18px}.bottom-nav{height:72px}.page{padding-inline:14px}.header-about{font-size:.66rem}}
@media(prefers-reduced-motion:reduce){.blinds-curtain{display:none}.nav-signal,.nav-link,.button,.button::before{transition:none}.button:hover,.question-option:hover{transform:none}}

/* Parcours UX: the same signal physically moves between three usage modes. */
.bottom-nav{--item-width:calc((100% - 12px)/3)}
.nav-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:901px){.nav-inner{grid-template-columns:1fr}}

/* Guided path */
.learning-path-page{display:grid;gap:28px;max-width:960px;margin-inline:auto}.path-module{border:1px solid var(--color-border);border-radius:var(--radius-card);background:rgba(9,19,30,.64)}.path-module-summary{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:78px;padding:14px 20px}.path-module-summary>span:nth-child(2){display:grid;gap:3px}.path-module-summary small{color:var(--color-muted);font-size:.75rem;font-weight:400}.path-module-number{color:var(--color-orange);font:600 .72rem var(--font-mono)}.path-module-status{color:var(--color-muted);font:600 .68rem var(--font-mono);text-align:right}.path-module-status.is-complete{color:var(--color-success)}.path-step-list{list-style:none;margin:0;padding:8px 24px 20px}.path-step a{display:grid;grid-template-columns:42px minmax(0,1fr) 32px;align-items:center;gap:16px;min-height:88px;padding:12px 4px;border-bottom:1px solid var(--color-border);text-decoration:none}.path-step:last-child a{border-bottom:0}.path-step-marker{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-muted);font:600 .75rem var(--font-mono)}.path-step-copy{display:grid;gap:3px}.path-step-copy small,.path-step-state{color:var(--color-muted);font-size:.72rem}.path-step-copy strong{line-height:1.25}.path-step-arrow{color:var(--color-muted)}.path-step.is-active .path-step-marker{border-color:var(--color-orange);background:var(--color-orange);color:#05070a;box-shadow:0 0 0 7px rgba(255,108,47,.1)}.path-step.is-partial .path-step-marker{border-color:var(--color-blue);color:var(--color-blue-soft)}.path-step.is-completed .path-step-marker{border-color:var(--color-success);color:var(--color-success)}.path-step.is-skipped .path-step-state{color:var(--color-warning)}

/* Onboarding */
.onboarding-view .bottom-nav,.onboarding-view .shell-status,.onboarding-view .app-header{display:none}.onboarding-view .content-stage{padding:0}.onboarding-view .page{max-width:none;min-height:100dvh;display:grid;place-items:center;padding:24px}.onboarding-page{width:min(720px,100%)}.onboarding-panel{display:grid;gap:26px;padding:clamp(28px,7vw,72px);border:1px solid var(--color-border);border-top:3px solid var(--color-orange);border-radius:var(--radius-panel);background:linear-gradient(145deg,rgba(13,25,39,.94),rgba(5,7,10,.96))}.onboarding-panel h1{max-width:13ch}.onboarding-panel>.button{width:max-content}.onboarding-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.onboarding-choice{display:grid;gap:6px;min-height:126px;padding:20px;border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface);text-align:left}.onboarding-choice:hover,.onboarding-choice:focus-visible{border-color:var(--color-orange)}.onboarding-choice span{color:var(--color-muted);font-size:.84rem}

/* Lesson loop and embedded historical experiments */
.lesson-experiment-list{display:grid;gap:8px}.lesson-experiment-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:62px;padding:12px 14px;border:1px solid var(--color-border);border-left:2px solid var(--color-success);border-radius:0 var(--radius-button) var(--radius-button) 0;background:var(--color-surface-raised);text-decoration:none}.lesson-experiment-link>span:first-child{display:grid;gap:3px}.lesson-experiment-link small{color:var(--color-muted)}.lesson-coverage-status{color:var(--color-blue-soft);font-size:.78rem}.lesson-skip-practice{justify-content:center}

/* Field missions */
.field-mission{display:grid;gap:34px}.mission-field-brief,.mission-field-steps,.mission-complete-panel{display:grid;gap:18px;padding:clamp(22px,4vw,36px);border:1px solid var(--color-border);border-radius:var(--radius-card);background:rgba(9,19,30,.65)}.mission-field-brief{border-left:3px solid var(--color-blue)}.mission-field-brief>.button{width:max-content}.mission-tool-note{padding:14px;border-left:3px solid var(--color-orange);background:rgba(255,108,47,.08)}.mission-field-steps ol{display:grid;gap:0;padding:0;list-style:none}.mission-field-steps li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--color-border)}.mission-step-index{color:var(--color-orange);font:600 .7rem var(--font-mono)}.mission-field-actions{display:flex;align-items:center;gap:14px}.mission-later-action{display:flex;justify-content:flex-end}.mission-reflection-form{display:grid;gap:20px}.mission-reflection-field{display:grid;gap:8px;color:var(--color-text);font-weight:600}.mission-reflection-field textarea{width:100%;min-height:96px;padding:13px;border:1px solid var(--color-border-strong);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-copy);resize:vertical}.mission-reflection-form>.button{width:max-content}.training-empty-page{min-height:60vh;display:grid;place-items:center}.training-empty{display:grid;gap:20px;max-width:680px;padding:clamp(28px,6vw,58px);border:1px solid var(--color-border);border-top:3px solid var(--color-blue);border-radius:var(--radius-panel);background:rgba(9,19,30,.72)}.training-empty-duration{color:var(--color-orange);font:600 .72rem var(--font-mono)}.training-empty>.button{width:max-content}

@media(max-width:900px){.mission-field-actions{display:grid}.mission-field-actions .button{width:100%}}
@media(max-width:700px){.path-module-summary{grid-template-columns:34px minmax(0,1fr)}.path-module-status{grid-column:2;text-align:left}.onboarding-choices{grid-template-columns:1fr}.mission-field-actions{display:grid}.mission-field-actions .button{width:100%}}

.lesson-toc a{min-height:44px}

/* Aujourd'hui : une action, une trajectoire. */
.home-page{gap:30px}.home-os-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.72fr);min-height:min(680px,calc(100vh - 152px));border:1px solid var(--color-border);border-radius:var(--radius-panel);background:linear-gradient(145deg,rgba(10,20,32,.86),rgba(7,16,27,.48));overflow:hidden}.home-hero{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,80px);border:0;background:radial-gradient(circle at 0 100%,rgba(255,108,47,.09),transparent 28rem)}.home-hero::after{display:none}.home-decision{max-width:720px}.home-decision h1{margin-top:18px}.home-decision .hero-lede{max-width:58ch;margin-top:22px;color:var(--color-secondary);font-size:clamp(1rem,1.5vw,1.14rem)}.home-decision .hero-buttons{margin-top:32px}.home-decision .local-first-note,.home-decision .session-context{max-width:58ch;margin-top:18px;color:var(--color-muted);font-size:.8rem}.home-context-progress{display:grid;grid-template-columns:1fr auto;gap:8px 20px;max-width:520px;margin-top:30px;color:var(--color-muted);font:500 .63rem var(--font-mono);text-transform:uppercase}.home-progress-label{grid-column:1/-1;color:var(--color-orange);letter-spacing:.09em}.home-context-progress .meter{grid-column:1/-1}.home-resume-exam{position:absolute;top:26px;left:clamp(32px,6vw,80px);right:clamp(32px,6vw,80px);display:flex;align-items:center;gap:14px;min-height:48px;padding-bottom:12px;border-bottom:1px solid var(--color-border);text-decoration:none}.home-resume-exam>span:last-child{margin-left:auto;color:var(--color-blue-soft);font-size:.78rem}
.home-path-map{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:24px;min-width:0;padding:32px;border-left:1px solid var(--color-border);background:linear-gradient(180deg,rgba(16,32,51,.38),rgba(4,7,11,.24))}.path-map-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.path-map-score{color:var(--color-text);font:500 2rem/.9 var(--font-mono)}.path-map-score small{color:var(--color-muted);font-size:.65rem}.path-map-list{position:relative;display:grid;align-content:center;gap:0;padding:0;list-style:none}.path-map-list::before{content:"";position:absolute;left:20px;top:12%;bottom:12%;width:1px;background:linear-gradient(var(--color-orange),rgba(95,143,255,.4),var(--color-border))}.path-node{position:relative}.path-node a{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:14px;min-height:78px;padding:8px 0;text-decoration:none}.path-node-dot{position:relative;z-index:1;display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;background:var(--color-surface);color:var(--color-muted);font:600 .62rem var(--font-mono);transition:transform var(--motion-ui) var(--ease-spring),border-color var(--motion-fast)}.path-node-copy{display:grid;gap:3px}.path-node-copy strong{font-size:.84rem;line-height:1.25}.path-node-copy small{color:var(--color-muted);font-size:.68rem}.path-node.is-active .path-node-dot{border-color:var(--color-orange);background:var(--color-orange);color:var(--color-bg);box-shadow:0 0 0 7px rgba(255,108,47,.09),0 0 28px rgba(255,108,47,.24)}.path-node.is-complete .path-node-dot{border-color:var(--color-success);color:var(--color-success)}.path-node a:hover .path-node-dot{transform:scale(1.08);border-color:var(--color-orange)}.path-map-caption{color:var(--color-muted);font:500 .62rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase}
.home-quiet-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.home-quiet-actions a{display:grid;grid-template-columns:1fr auto;gap:5px 16px;min-height:96px;padding:21px 22px;text-decoration:none;transition:background var(--motion-fast)}.home-quiet-actions a+a{border-left:1px solid var(--color-border)}.home-quiet-actions .eyebrow{grid-column:1}.home-quiet-actions strong{grid-column:1;font-size:.9rem}.home-quiet-actions a>span:last-child{grid-column:2;grid-row:1/3;align-self:center;color:var(--color-muted);transition:transform var(--motion-ui) var(--ease-spring),color var(--motion-fast)}.home-quiet-actions a:hover{background:rgba(95,143,255,.045)}.home-quiet-actions a:hover>span:last-child{color:var(--color-orange);transform:translate(3px,-3px)}
@media(max-width:1100px){.home-os-grid{grid-template-columns:minmax(0,1.2fr) minmax(250px,.75fr)}.home-path-map{padding:26px}.path-node a{min-height:72px}.home-hero{padding-inline:clamp(28px,5vw,56px)}}
@media(max-width:800px){.home-os-grid{display:block;min-height:0}.home-hero{min-height:560px}.home-path-map{border-top:1px solid var(--color-border);border-left:0}.path-map-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.path-map-list::before{left:8%;right:8%;top:28px;bottom:auto;width:auto;height:1px}.path-node a{grid-template-columns:1fr;justify-items:center;align-content:start;gap:8px;min-height:114px;text-align:center}.path-node-copy strong{font-size:.72rem}.path-node-copy small{font-size:.6rem}.home-quiet-actions{grid-template-columns:1fr}.home-quiet-actions a+a{border-top:1px solid var(--color-border);border-left:0}}
@media(max-width:560px){.home-hero{min-height:520px;padding:32px 24px}.home-resume-exam{top:20px;left:24px;right:24px}.home-decision h1{font-size:clamp(2.35rem,12vw,3.5rem)}.home-decision .hero-buttons{display:grid}.home-context-progress{grid-template-columns:1fr;gap:8px}.home-context-progress .meter{grid-column:auto}.home-path-map{padding:24px 20px}.path-map-list{grid-template-columns:1fr}.path-map-list::before{left:17px;right:auto;top:28px;bottom:28px;width:1px;height:auto}.path-node{min-width:0}.path-node a{grid-template-columns:36px minmax(0,1fr);justify-items:start;gap:12px;min-height:62px;text-align:left}.path-node-dot{width:34px;height:34px}.path-node-copy strong{font-size:.72rem}.path-map-caption{padding-left:48px}}

/* Bibliothèque */
.editorial-hero,.unit-hero{border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border);background:transparent}.editorial-hero::after{opacity:.12;background-image:radial-gradient(var(--color-blue) .7px,transparent .7px)}.hero-lede{color:var(--color-secondary)}.path-progress{text-align:right}.path-empty-label,.metric-value,.path-number strong,.summary-score{color:var(--color-text);font-family:var(--font-body)}
.learning-library>.section-heading{padding-bottom:24px;border-bottom:1px solid var(--color-border-strong)}.track-list{display:grid}.learning-track{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);padding:34px 0;border-bottom:1px solid var(--color-border)}.track-heading{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-content:start}.track-number{padding-top:5px;color:var(--color-orange);font:600 .68rem var(--font-mono)}.track-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.track-heading p{margin-top:10px;font-size:.84rem}.learning-track .unit-list{margin:0;border-top:1px solid var(--color-border-strong)}.track-empty{align-self:center;padding:24px;border-left:1px solid var(--color-border);color:var(--color-muted);font-size:.84rem}.learning-track.is-upcoming{opacity:.72}.unit-row{grid-template-columns:54px minmax(0,1fr) auto;gap:18px;padding:24px 0;border-color:var(--color-border)}.unit-row.is-recommended{padding-inline:18px;background:linear-gradient(90deg,rgba(255,108,47,.09),transparent 75%)}.unit-index,.unit-evidence,.module-meta{color:var(--color-muted)}.unit-index span:first-child{color:var(--color-text)}.method-band{border-color:var(--color-border);background:linear-gradient(90deg,rgba(95,143,255,.08),transparent)}
.learning-track.is-featured{margin-inline:calc(clamp(16px,3vw,34px)*-1);padding-inline:clamp(16px,3vw,34px);border-top:2px solid var(--color-orange);background:linear-gradient(110deg,rgba(255,108,47,.1),rgba(95,143,255,.04) 65%,transparent)}.track-subtitle{color:var(--color-orange-soft);font-weight:650}
@media(max-width:800px){.track-list{gap:12px}.learning-track{grid-template-columns:1fr;gap:22px}.track-empty{border-left:0;border-top:1px solid var(--color-border);padding-inline:0}.unit-row{grid-template-columns:46px minmax(0,1fr)}.unit-row>.button{grid-column:2;width:max-content}}
@media(max-width:560px){.path-hero{gap:24px}.path-progress{text-align:left}.learning-track{padding-block:28px}.learning-track.is-featured{margin-inline:0;padding-inline:12px}.unit-row{padding:20px 0}.unit-row.is-recommended{margin-inline:-8px;padding-inline:8px}.unit-row>.button{grid-column:1/-1;width:100%}}

/* Leçon : table des matières contextuelle, lecture centrale, action secondaire. */
.lesson-page{max-width:1180px;margin-inline:auto;gap:clamp(34px,5vw,58px)}.lesson-breadcrumb{border-color:var(--color-border)}.lesson-position{color:var(--color-muted)}.lesson-header{border-bottom-color:var(--color-border-strong)}.lesson-header h1{max-width:15ch}.lesson-status{color:var(--color-secondary)}.evidence-dot{border-color:var(--color-success)}.lesson-marker{color:rgba(168,184,255,.22);font-family:var(--font-mono);font-weight:500;letter-spacing:-.08em}
.lesson-layout{display:grid;grid-template-columns:150px minmax(0,var(--reading-max)) minmax(190px,240px);gap:clamp(28px,4vw,54px);align-items:start}.lesson-toc{position:sticky;top:96px;display:grid;gap:2px;padding-top:16px;border-top:1px solid var(--color-border-strong)}.lesson-toc .eyebrow{margin-bottom:10px}.lesson-toc a{display:flex;min-height:40px;align-items:center;border-left:1px solid var(--color-border);padding:6px 0 6px 12px;color:var(--color-muted);font-size:.75rem;text-decoration:none;transition:border-color var(--motion-fast),color var(--motion-fast),transform var(--motion-fast)}.lesson-toc a:hover,.lesson-toc a:focus-visible{border-color:var(--color-orange);color:var(--color-text);transform:translateX(3px)}
.concept-lesson{min-width:0;border-top-color:var(--color-border-strong)}.lesson-section{grid-template-columns:34px minmax(0,1fr);gap:14px;padding:32px 0;border-color:var(--color-border);scroll-margin-top:96px}.lesson-section-index{color:var(--color-orange);font-family:var(--font-mono)}.lesson-section-body>p:not(.eyebrow){color:var(--color-copy);font-size:clamp(1rem,1.3vw,1.075rem);line-height:1.74}.lesson-idea .lesson-section-body>p:not(.eyebrow){max-width:34ch;color:var(--color-text);font:550 clamp(1.45rem,3vw,2.1rem)/1.3 var(--font-body);letter-spacing:-.035em}.lesson-example .lesson-section-body{padding:22px;border-left-color:var(--color-success);border-radius:0 var(--radius-button) var(--radius-button) 0;background:rgba(156,231,183,.07)}.lesson-trap .lesson-section-body{border-left-color:var(--color-error)}.lesson-distinguish .lesson-section-body>p:not(.eyebrow)::before{color:var(--color-blue)}
.beginner-lesson .lesson-goal .lesson-section-body>p:not(.eyebrow){max-width:38ch;color:var(--color-text);font:550 clamp(1.3rem,2.5vw,1.8rem)/1.38 var(--font-body);letter-spacing:-.025em}.lesson-section-body{gap:18px}.lesson-section-label{width:100%;padding:11px 13px;border-left:2px solid var(--color-orange);border-radius:0 var(--radius-button) var(--radius-button) 0;background:var(--color-surface-raised);color:var(--color-text);font:700 1rem/1.3 var(--font-body);letter-spacing:-.01em;text-transform:none;text-wrap:balance}.mini-lesson-part{gap:10px;border-color:var(--color-border)}.mini-lesson-part h3{font:650 clamp(1.125rem,1.7vw,1.25rem)/1.38 var(--font-body);letter-spacing:-.018em}.mini-lesson-part p,.technical-term p{color:var(--color-copy)}.beginner-lesson .lesson-example .lesson-section-body{padding:0;border-left:0;background:transparent}.beginner-lesson .lesson-example .lesson-section-body>p{padding:19px 20px;border-left:3px solid var(--color-success);border-radius:0 var(--radius-button) var(--radius-button) 0;background:rgba(156,231,183,.07)}.technical-term{border-left-color:var(--color-orange);border-radius:0 var(--radius-button) var(--radius-button) 0;background:rgba(255,108,47,.08)}.technical-term .lesson-section-label{font-size:.95rem}.lesson-quick-checks{gap:16px;border-color:var(--color-border-strong)}.lesson-quick-checks>.lesson-section-label{font-size:1rem}.quick-check-list{margin-top:6px}.quick-check-item{border-color:var(--color-border);background:rgba(10,20,32,.72)}.quick-check-option{border-color:var(--color-border);background:var(--color-surface-raised)}.quick-check-option:hover{border-color:var(--color-blue)}.quick-check-option:has(input:focus-visible){outline-color:var(--color-blue)}.quick-check-option.answer-correct{border-color:var(--color-success);background:rgba(156,231,183,.1)}.quick-check-option.answer-incorrect{border-color:var(--color-error);background:rgba(255,124,116,.09)}.quick-check-option.answer-correct::after{color:var(--color-success)}.quick-check-option.answer-incorrect::after{color:var(--color-error)}.quick-check-feedback{background:var(--color-surface-raised)}.quick-check-feedback.is-correct{border-left-color:var(--color-success)}.quick-check-feedback.is-incorrect,.quick-check-feedback.is-missing{border-left-color:var(--color-error)}
.lesson-evidence{border-top-color:var(--color-border-strong);border-bottom-color:var(--color-border);scroll-margin-top:96px}.lesson-evidence>summary{min-height:84px}.evidence-summary-label{color:var(--color-orange)}.evidence-content{gap:22px}.evidence-support{border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface-raised)}.evidence-class{color:var(--color-blue-soft)}.framework-status{border-left-color:var(--color-orange);background:rgba(255,108,47,.08)}.evidence-kind.research{color:var(--color-success)}.evidence-kind.report{color:var(--color-blue-soft)}.evidence-kind.provider{color:var(--color-warning)}.evidence-kind.industry{color:var(--color-orange-soft)}.evidence-title{color:var(--color-text)}.evidence-more>summary{color:var(--color-blue-soft)}.lesson-source{color:var(--color-muted)}
.lesson-actions{top:96px;border-left-color:var(--color-border)}.lesson-actions h2{font-size:1.15rem}.lesson-sequence{border-top-color:var(--color-border-strong)}.lesson-sequence a span{color:var(--color-orange)}
@media(max-width:1160px){.lesson-layout{grid-template-columns:minmax(0,var(--reading-max)) minmax(200px,250px);justify-content:center}.lesson-toc{display:none}}
@media(max-width:800px){.lesson-layout{grid-template-columns:minmax(0,var(--reading-max))}.lesson-actions{position:static;padding:22px 0 0;border-top:1px solid var(--color-border);border-left:0}.lesson-header h1{max-width:18ch}}
@media(max-width:560px){.lesson-section{grid-template-columns:25px minmax(0,1fr);gap:8px;padding:27px 0}.lesson-section-label{padding:10px 12px;font-size:.925rem;line-height:1.32}.mini-lesson-part h3{font-size:1.1rem}.beginner-lesson .lesson-example .lesson-section-body{padding:0}.beginner-lesson .lesson-example .lesson-section-body>p{padding:16px}.lesson-evidence>summary{align-items:flex-start}.lesson-evidence>summary h2{font-size:1rem}.lesson-breadcrumb{gap:8px}.lesson-position{font-size:.59rem}.lesson-sequence{gap:14px}}

/* Parcours, pratique, Lab et progrès */
.action-strip,.secondary-band{border-color:var(--color-border);background:rgba(10,20,32,.62);border-radius:var(--radius-button)}.action-strip.priority{border-left-color:var(--color-orange)}.learning-next,.recommended-session{border-left-color:var(--color-orange);border-radius:0 var(--radius-card) var(--radius-card) 0;background:linear-gradient(100deg,rgba(255,108,47,.12),rgba(10,20,32,.78))}.learning-next h2,.recommended-session h2{font-size:clamp(1.45rem,2.5vw,2.05rem)}.unit-hero{border-top-color:var(--color-border-strong)}.unit-index.large span:first-child{color:var(--color-orange);font-family:var(--font-mono);font-size:2rem}.unit-lesson-list,.practice-band,.unit-tools>.open-section{border-color:var(--color-border)}.unit-lesson-list a{transition:padding var(--motion-ui) var(--ease-standard),background var(--motion-fast)}.unit-lesson-list a:hover{padding-inline:12px;background:rgba(95,143,255,.045)}.lesson-row-action{color:var(--color-orange)}.session-choice{border-color:var(--color-border);border-radius:13px;background:rgba(10,20,32,.72);transition:border-color var(--motion-fast),transform var(--motion-fast) var(--ease-standard),background var(--motion-fast)}.session-choice:hover{border-color:var(--color-orange);background:var(--color-surface-raised);transform:translateX(3px)}.session-marker{color:var(--color-orange)}
.practice-section-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:660px;border:1px solid var(--color-border);border-radius:var(--radius-button);background:rgba(7,16,27,.52)}.practice-section-nav a{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;min-height:52px;padding:10px 16px;color:var(--color-muted);text-decoration:none}.practice-section-nav a+a{border-left:1px solid var(--color-border)}.practice-section-nav a[aria-current="page"]{background:rgba(255,108,47,.09);color:var(--color-text)}.practice-section-nav a>span{color:var(--color-orange);font:600 .63rem var(--font-mono)}.practice-section-nav strong{font-size:.82rem}.practice-experiments-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;padding:clamp(24px,4vw,38px);border:1px solid var(--color-border);border-left:4px solid var(--color-success);border-radius:0 var(--radius-card) var(--radius-card) 0;background:linear-gradient(105deg,rgba(156,231,183,.09),rgba(10,20,32,.7))}.practice-experiments-band h2{margin:8px 0}.practice-experiments-band .small{margin-top:12px}
.session-page,.summary-page,.lab-workbench{max-width:780px}.session-heading{padding-bottom:18px;border-bottom:1px solid var(--color-border)}.session-page>.meter{margin-bottom:32px}.feedback-slot{scroll-margin-top:24px}.beginner-practice-session .session-actions{position:static;margin-top:26px;padding:0;border:0;background:transparent;backdrop-filter:none}.beginner-practice-feedback{scroll-margin-bottom:calc(var(--mobile-nav-height) + 24px)}.summary-score{color:var(--color-orange)}
.lab-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.5fr);gap:50px;align-items:end}.method-note,.hero-action{border-left-color:var(--color-border-strong)}.lab-family{border-top-color:var(--color-border-strong)}.exercise-row{border-color:var(--color-border);transition:padding var(--motion-ui) var(--ease-standard),background var(--motion-fast)}.exercise-row:hover{padding-inline:10px;background:rgba(95,143,255,.045)}.exercise-state{color:var(--color-success)}.workbench-heading{border-bottom-color:var(--color-border-strong)}.workbench-surface{border-color:var(--color-border);border-radius:var(--radius-card);background:linear-gradient(145deg,rgba(13,25,39,.86),rgba(7,16,27,.68))}.prompt-block{border-left-color:var(--color-blue);background:var(--color-surface-raised)}.lab-trust-note{border-left-color:var(--color-success);background:rgba(156,231,183,.08);color:var(--color-secondary)}.choice-chip span,.model-candidate,.model-evidence>div{border-color:var(--color-border);background:var(--color-surface-raised)}.choice-chip:has(input:checked) span{border-color:var(--color-orange);background:var(--color-orange);color:var(--color-bg)}.choice-chip:has(input:focus-visible) span,.model-decision-card:has(input:focus-visible){outline-color:var(--color-blue)}.exercise-context{border-left-color:var(--color-success);background:rgba(156,231,183,.08)}.surgery-option:has(input:checked){border-color:var(--color-orange)!important;background:rgba(255,108,47,.10)!important}.model-decision-card{border-color:var(--color-border-strong);background:rgba(10,20,32,.65)}.model-decision-card:has(input:checked){border-color:var(--color-orange);background:rgba(255,108,47,.10)}
.progress-summary,.progress-empty-summary{border-top-color:var(--color-border-strong);border-bottom-color:var(--color-border);border-radius:var(--radius-card);background:linear-gradient(120deg,rgba(95,143,255,.09),rgba(10,20,32,.48))}.progress-empty-summary h2{font-family:var(--font-body)}.empty-evidence-count{color:var(--color-orange)}.progress-metric+.progress-metric{border-left-color:var(--color-border)}.evidence-panel{border-top-color:var(--color-border-strong)}.next-panel{border:1px solid rgba(255,108,47,.18);border-top-color:var(--color-orange);border-radius:var(--radius-card);background:rgba(255,108,47,.07)}.skill-map-disclosure{border-color:var(--color-border)}.disclosure-hint{color:var(--color-orange)}.competency-unit,.competency-map li,.evidence-list,.evidence-list li{border-color:var(--color-border)}
.profile-missions{display:grid;gap:20px;padding-top:28px;border-top:1px solid var(--color-border-strong)}.profile-mission-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:82px;padding:16px 18px;border:1px solid var(--color-border);border-left:3px solid var(--color-orange);border-radius:0 var(--radius-button) var(--radius-button) 0;background:rgba(10,20,32,.6);text-decoration:none}.profile-mission-row>span:nth-child(2){display:grid;gap:5px}.profile-mission-row small{color:var(--color-muted)}.profile-mission-row.is-completed{border-left-color:var(--color-success)}
.exam-timer,.question-index{border-color:var(--color-border-strong);background:var(--color-surface-raised)}.exam-timer.is-warning,.question-index.flagged{border-color:var(--color-warning);background:rgba(242,202,123,.08);color:var(--color-warning)}.exam-timer.is-critical{border-color:var(--color-error);background:rgba(255,124,116,.08);color:var(--color-error)}.question-index.answered{border-color:var(--color-success);background:rgba(156,231,183,.08)}.exam-navigator,.exam-confirmation-panel{border-color:var(--color-border);background:var(--color-surface-raised)}.exam-confirmation{background:rgba(4,7,11,.72)}
.demo-banner{border-color:rgba(242,202,123,.3);background:rgba(242,202,123,.08);color:var(--color-copy)}.institution-stats,.cohort-readout,.institution-stat+.institution-stat,.cohort-readout article+article{border-color:var(--color-border)}.delete-confirmation{border-color:var(--color-error);background:rgba(255,124,116,.07)}
@media(max-width:800px){.lab-hero{grid-template-columns:1fr}.recommended-session,.learning-next,.practice-experiments-band{grid-template-columns:1fr}.model-candidates{grid-template-columns:1fr}.practice-experiments-band>.button{width:max-content}.profile-mission-row{grid-template-columns:42px minmax(0,1fr)}.profile-mission-row>.mission-state{grid-column:2}}
@media(max-width:560px){.practice-section-nav a{grid-template-columns:1fr;gap:4px;padding-inline:10px}.practice-experiments-band>.button,.profile-missions .section-heading>.button{width:100%}.profile-mission-row{padding-inline:12px}.profile-mission-row>.mission-state{white-space:normal}}

.lesson-toc a{min-height:44px}
.profile-path-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.profile-path-overview>div{display:grid;gap:5px;padding:20px}.profile-path-overview>div+div{border-left:1px solid var(--color-border)}.profile-path-overview strong{font:600 1.7rem var(--font-mono)}.profile-path-overview span{color:var(--color-muted);font-size:.75rem}
@media(max-width:560px){.profile-path-overview{grid-template-columns:1fr}.profile-path-overview>div+div{border-top:1px solid var(--color-border);border-left:0}}
.evidence-list a{display:inline-flex;min-height:44px;align-items:center}

/* Lot 1-bis: en-têtes de destination, branches et clearance partagée. */
.page.has-resume-bar{--resume-clearance:var(--resume-bar-height)}
.page-header{display:grid;gap:8px;padding-bottom:22px;border-bottom:1px solid var(--color-border-strong)}
.page-header-eyebrow{color:var(--color-orange);font:600 12px/1.35 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
.page-header h1{max-width:none;color:var(--color-text);font:600 24px/1.2 var(--font-body);letter-spacing:-.03em}
.page-header-description{color:var(--color-secondary);font-size:15px;line-height:1.45}
.page-header-disclosure{margin-top:2px}
.page-header-disclosure>summary{display:inline-flex;width:max-content;max-width:100%;min-height:44px;align-items:center;gap:8px;padding:6px 0;color:var(--color-blue-soft);font-size:.84rem;list-style:none;text-decoration:underline;text-underline-offset:5px}
.page-header-disclosure>summary::-webkit-details-marker{display:none}.disclosure-chevron{font-size:1.2rem;text-decoration:none;transition:transform var(--motion-fast)}.page-header-disclosure[open] .disclosure-chevron{transform:rotate(90deg)}
.page-header-disclosure-content{max-width:760px;padding:12px 0 4px;color:var(--color-copy);font-size:15px}
.learning-cycle-explanation{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-button);overflow:hidden;list-style:none}
.learning-cycle-explanation li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;min-height:70px;padding:12px;background:var(--color-surface-raised)}
.cycle-explanation-index{color:var(--color-orange);font:600 11px var(--font-mono)}.learning-cycle-explanation li>span:last-child{display:grid;gap:3px}.learning-cycle-explanation strong{font-size:.78rem}.learning-cycle-explanation small{color:var(--color-muted);font-size:.66rem}

.path-next-action{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 18px;border:1px solid var(--color-border-strong);border-left:3px solid var(--color-orange);border-radius:0 var(--radius-card) var(--radius-card) 0;background:rgba(9,19,30,.84)}
.path-next-action>div{display:grid;gap:4px;min-width:0}.path-next-action>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-next-action .button{flex:0 0 auto}
.path-branches{display:grid;gap:14px}.path-branch{border:1px solid var(--color-border);border-radius:var(--radius-card);background:rgba(9,19,30,.5);overflow:hidden}
.path-branch-toggle{display:grid;width:100%;min-height:118px;grid-template-columns:minmax(0,1fr) 28px;gap:12px 20px;padding:18px 20px;border:0;background:transparent;text-align:left}
.path-branch-heading{display:grid;min-width:0;gap:4px}.path-branch-heading>strong{font-size:22px;font-weight:600;line-height:1.15}.path-branch-promise{overflow:hidden;color:var(--color-secondary);font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.path-branch-chevron{grid-column:2;grid-row:1;align-self:center;color:var(--color-orange);font-size:28px;line-height:1;transition:transform var(--motion-ui) var(--ease-standard)}.path-branch.is-open .path-branch-chevron{transform:rotate(90deg)}
.path-branch-progress{grid-column:1/-1;display:grid;grid-template-columns:minmax(80px,1fr) auto auto;align-items:center;gap:10px 16px}.path-branch-count,.path-branch-duration{color:var(--color-muted);font:600 11px var(--font-mono);white-space:nowrap}
.path-branch-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--motion-ui) var(--ease-standard)}.path-branch.is-open .path-branch-panel{grid-template-rows:1fr}.path-branch-content{display:grid;min-height:0;gap:10px;padding-inline:12px;overflow:hidden}.path-branch.is-open .path-branch-content{padding-bottom:12px}
.path-module{background:rgba(5,7,10,.42)}.path-module summary{list-style:none}.path-module summary::-webkit-details-marker{display:none}.path-module[open] .path-module-summary{border-bottom:1px solid var(--color-border)}
.path-resume-bar{position:fixed;z-index:35;right:6px;bottom:calc(var(--mobile-nav-height) + var(--nav-safe-gap));left:6px;height:var(--resume-bar-height);border-top:1px solid var(--color-border-strong);background:rgba(9,19,30,.94);opacity:0;visibility:hidden;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:opacity var(--motion-fast),visibility var(--motion-fast)}
.path-resume-bar[aria-hidden="false"]{opacity:1;visibility:visible}.path-resume-bar a{display:flex;height:100%;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;color:var(--color-text);font-size:.88rem;font-weight:600;text-decoration:none}.path-resume-bar a>span{color:var(--color-orange)}

/* Lot A/C: trois niveaux typographiques et navigation de leçon compacte. */
.lesson-header h1{max-width:18ch;font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.08;letter-spacing:-.04em}
.lesson-layout{grid-template-columns:minmax(0,var(--reading-max)) 170px minmax(190px,240px);gap:clamp(28px,4vw,54px);justify-content:center}
.lesson-section{grid-template-columns:34px minmax(0,1fr);gap:14px;padding:32px 0}.lesson-section-index{padding-top:5px;color:var(--color-orange);font:600 13px/1.3 var(--font-mono)}
.lesson-section-label,.technical-term .lesson-section-label,.lesson-quick-checks>.lesson-section-label{padding:13px 15px;border-left:2px solid var(--color-orange);border-radius:0 var(--radius-button) var(--radius-button) 0;background:var(--color-surface-raised);color:var(--color-text);font:600 21px/1.3 var(--font-body);letter-spacing:-.01em;text-transform:none}
.lesson-section-body>p:not(.eyebrow),.mini-lesson-part p,.technical-term p{color:var(--color-copy);font:400 18px/1.6 var(--font-body);letter-spacing:normal}
.beginner-lesson .lesson-goal .lesson-section-body>p:not(.eyebrow),.lesson-idea .lesson-section-body>p:not(.eyebrow){max-width:42ch;color:var(--color-secondary);font:400 18px/1.6 var(--font-body);letter-spacing:normal}
.mini-lesson-part h3{color:var(--color-text);font:600 17px/1.4 var(--font-body);letter-spacing:normal}.mini-lesson-part{gap:10px}
.lesson-sticky-header{position:fixed;z-index:29;top:var(--mobile-topbar);right:0;left:0;display:grid;height:55px;max-height:56px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 14px;border-bottom:1px solid var(--color-border-strong);background:rgba(9,19,30,.94);opacity:0;visibility:hidden;transform:translateY(-8px);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:opacity var(--motion-fast),visibility var(--motion-fast),transform var(--motion-fast)}
.lesson-sticky-header.is-visible{opacity:1;visibility:visible;transform:none}.lesson-sticky-header>strong{min-width:0;overflow:hidden;font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.lesson-cycle-trigger{display:grid;width:48px;height:44px;padding:0;border:0;border-radius:var(--radius-xs);background:transparent;place-items:center}.lesson-cycle-dots{display:flex;align-items:center;gap:5px}.lesson-cycle-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2)}.lesson-cycle-dot.is-past{background:var(--color-blue)}.lesson-cycle-dot.is-current{background:var(--color-orange)}
.lesson-cycle-popover{width:min(360px,calc(100vw - 32px));margin:auto;padding:20px;border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-raised);color:var(--color-copy);box-shadow:var(--shadow-float)}.lesson-cycle-popover::backdrop{background:rgba(4,7,11,.66)}.lesson-cycle-popover ol{display:grid;gap:0;margin-top:12px;padding:0;list-style:none}.lesson-cycle-popover li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:11px 0;border-top:1px solid var(--color-border)}.lesson-cycle-popover li>span:first-child{color:var(--color-muted);font:600 11px var(--font-mono)}.lesson-cycle-popover li>span:last-child{display:grid;gap:2px}.lesson-cycle-popover li small{color:var(--color-secondary);font-size:.78rem}.lesson-cycle-popover li.is-current>span:first-child,.lesson-cycle-popover li.is-current strong{color:var(--color-orange)}

@media(min-width:900px){:root{--nav-clearance:64px}.lesson-sticky-header{top:var(--desktop-topbar);left:var(--sidebar-width)}.path-resume-bar{right:24px;bottom:0;left:calc(var(--sidebar-width) + 24px);max-width:960px;margin-inline:auto}}
@media(max-width:1160px) and (min-width:901px){.lesson-layout{grid-template-columns:minmax(0,var(--reading-max)) minmax(180px,220px)}.lesson-toc{display:grid}.lesson-actions{grid-column:1/-1;position:static;padding:22px 0 0;border-top:1px solid var(--color-border);border-left:0}}
@media(max-width:900px){.lesson-layout{grid-template-columns:minmax(0,var(--reading-max))}.lesson-toc{display:none}.lesson-actions{position:static;padding:22px 0 0;border-top:1px solid var(--color-border);border-left:0}}
@media(max-width:700px){.learning-cycle-explanation{grid-template-columns:1fr}.learning-cycle-explanation li{min-height:52px}.path-next-action{display:grid}.path-next-action .button{width:100%}.path-module-summary{grid-template-columns:34px minmax(0,1fr)}.path-module-status{grid-column:2;text-align:left}}
@media(max-width:560px){.lesson-section{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:27px 0}.lesson-section-label,.technical-term .lesson-section-label,.lesson-quick-checks>.lesson-section-label{padding:12px 13px;font-size:19px}.lesson-section-body>p:not(.eyebrow),.mini-lesson-part p,.technical-term p{font-size:17px}.beginner-lesson .lesson-goal .lesson-section-body>p:not(.eyebrow),.lesson-idea .lesson-section-body>p:not(.eyebrow){font-size:18px}.path-branch-toggle{padding-inline:16px}.path-branch-progress{grid-template-columns:1fr auto}.path-branch-duration{grid-column:2}.path-branch-progress .meter{grid-column:1/-1;grid-row:1}.path-branch-count{grid-column:1;grid-row:2}.path-branch-duration{grid-row:2}.profile-path-overview strong{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.path-branch-panel,.path-branch-chevron,.path-resume-bar,.lesson-sticky-header,.disclosure-chevron{transition:none}}
