.page-intro {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.page-intro .hero-lede {margin-top:12px;}
.hero-lede {max-width:62ch;color:var(--color-muted);font-size:clamp(1rem,1.8vw,1.12rem);line-height:1.55;}
.editorial-hero,.home-hero,.unit-hero {position:relative;overflow:hidden;border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-border);padding:clamp(30px,5vw,56px) 0;}
.editorial-hero::after,.home-hero::after {content:"";position:absolute;right:0;top:0;width:150px;height:100px;opacity:.18;background-image:radial-gradient(var(--color-muted) .65px,transparent .65px);background-size:9px 9px;pointer-events:none;}
.editorial-hero h1,.home-hero h1,.unit-hero h1 {margin-top:12px;}
.editorial-hero .hero-lede,.home-hero .hero-lede,.unit-hero .hero-lede {margin-top:16px;}
.hero-grid {display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.7fr);gap:clamp(28px,6vw,72px);align-items:end;}
.hero-buttons {display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.local-first-note {max-width:58ch;margin-top:14px;color:var(--color-muted);font-size:.78rem;}
.method-note,.hero-action {position:relative;z-index:1;padding:20px 0 2px 22px;border-left:1px solid var(--color-border-strong);}
.method-note p:last-child,.hero-action>p:not(.small) {margin-top:10px;}
.hero-action .button {width:100%;margin-top:20px;}
.home-hero>.meter {margin-top:28px;}
.session-facts {display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;color:var(--color-muted);font-size:.85rem;}
.session-context {margin-top:14px;font-weight:650;}
.action-strip,.secondary-band {display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px;border:1px solid var(--color-border);background:var(--color-surface);}
.action-strip.priority {border-left:4px solid var(--color-terracotta);}
.action-strip h2,.secondary-band h2 {margin-block:6px;}
.path-overview>.section-heading {align-items:flex-end;padding-bottom:22px;border-bottom:1px solid var(--color-border);}
.path-overview>.section-heading h2 {margin:8px 0;}
.path-overview>.button {margin-top:24px;}
.path-number {display:grid;text-align:right;}
.path-number strong {font:500 2rem var(--font-editorial);}
.path-number span {color:var(--color-muted);font-size:.73rem;}
.home-unit-list {display:grid;}
.home-unit {display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:76px;border-bottom:1px solid var(--color-border);text-decoration:none;}
.home-unit:hover strong {text-decoration:underline;text-underline-offset:4px;}
.home-unit-copy {display:grid;min-width:0;gap:3px;}
.home-unit-copy small {color:var(--color-muted);font-size:.76rem;}
.home-unit-coverage {font:650 .78rem var(--font-mono);}
.home-secondary {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,56px);padding-top:4px;}
.home-secondary>section {border-top:1px solid var(--color-border-strong);padding-top:22px;}
.review-preview h2,.lab-callout h2 {margin:8px 0 12px;}
.review-preview>.button,.lab-callout>.button {margin-top:18px;}
.secondary-band {background:transparent;}
.demo-note,.demo-disclaimer {max-width:780px;color:var(--color-muted);font-size:.73rem;}

/* Learn */
.path-hero {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.45fr);gap:48px;align-items:end;}
.path-progress {display:grid;gap:8px;text-align:right;}
.path-progress.is-empty {max-width:220px;}
.path-empty-label {font:500 1.45rem/1.15 var(--font-editorial);}
.metric-value {font:500 clamp(1.8rem,3vw,2.6rem)/1 var(--font-editorial);letter-spacing:-.03em;}
.metric-label {margin-top:7px;font-size:.78rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;}
.unit-list {display:grid;margin-top:18px;}
.unit-row {display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:22px;align-items:center;padding:26px 0;border-bottom:1px solid var(--color-border);}
.unit-row.is-recommended {padding-inline:18px;background:linear-gradient(90deg,var(--color-accent-soft),transparent 75%);}
.unit-index {display:flex;align-items:baseline;gap:4px;color:var(--color-muted);font:600 .68rem var(--font-mono);}
.unit-index span {white-space:nowrap;overflow-wrap:normal;}
.unit-index span:first-child {color:var(--color-text);font-size:1.05rem;}
.unit-index.large {display:grid;align-content:start;padding-top:8px;}
.unit-index.large span:first-child {font:500 2.4rem var(--font-editorial);}
.unit-title-line {display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.unit-copy>p {max-width:62ch;margin-top:7px;font-size:.9rem;}
.unit-copy>.meter {margin-top:13px;}
.unit-evidence {display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:13px;color:var(--color-muted);font-size:.75rem;}
.method-band {padding:24px;border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);}
.method-steps {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;padding:0;list-style:none;}
.method-steps li {display:grid;gap:5px;font-weight:650;}
.method-steps span {color:var(--color-muted);font:600 .68rem var(--font-mono);}

/* Unit and practice */
.unit-hero {display:grid;grid-template-columns:80px minmax(0,1fr);gap:24px;}
.recommended-session {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:clamp(24px,4vw,36px);border-left:4px solid var(--color-accent);background:var(--color-accent-soft);}
.recommended-session h2 {margin:8px 0;}
.recommended-session .button {min-width:190px;}
.recommended-session .training-score {margin-top:18px;}
.recommended-session .meter {margin-top:6px;}
.unit-layout {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.75fr);gap:clamp(28px,5vw,52px);align-items:start;}
.revision-index h2 {margin:7px 0;}
.session-customizer[open] summary {margin-bottom:16px;border-bottom:1px solid var(--color-border);}
.session-menu {display:grid;gap:8px;}
.session-choice {width:100%;min-height:68px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);text-align:left;}
.session-choice:hover {border-color:var(--color-accent);}
.session-choice>span:nth-child(2) {display:grid;gap:3px;}
.session-choice small {color:var(--color-muted);font-size:.75rem;}
.session-marker {font:600 .72rem var(--font-mono);color:var(--color-accent);}
.practice-columns,.progress-columns {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,44px);}
.practice-columns {grid-template-columns:repeat(2,minmax(0,1fr));}
.practice-columns>section,.progress-columns>section {border-top:1px solid var(--color-border-strong);padding-top:20px;}
.practice-columns h2,.progress-columns h2 {margin:7px 0 12px;}
.practice-columns .button {margin-top:18px;}

/* Lab */
.lab-family {display:grid;grid-template-columns:minmax(200px,.5fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);padding-top:26px;border-top:1px solid var(--color-border-strong);}
.lab-family-heading {display:grid;grid-template-columns:30px 1fr;gap:10px;align-content:start;}
.lab-family-heading h2 {margin-bottom:8px;}
.exercise-list {display:grid;}
.exercise-row {display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;border-bottom:1px solid var(--color-border);text-decoration:none;}
.exercise-copy {display:grid;gap:2px;}
.exercise-copy small {color:var(--color-muted);font-size:.72rem;}
.exercise-meta {color:var(--color-muted);font:600 .67rem var(--font-mono);text-align:right;}
.exercise-state {color:var(--color-sage);font-weight:700;}
.workbench-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border-strong);}
.workbench-heading h1 {margin:8px 0 12px;}
.workbench-meta {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;}
.workbench-surface {padding:clamp(20px,4vw,36px);border:1px solid var(--color-border);background:var(--color-surface);}
.prompt-text,.prompt-block {white-space:pre-wrap;overflow-wrap:anywhere;font:400 .88rem/1.65 var(--font-mono);}
.prompt-block {padding:16px;border-left:3px solid var(--color-accent);background:var(--color-surface-muted);}
.practice-feedback:empty {display:none;}
.practice-feedback .feedback-panel {margin:0;}
.lab-trust-note {padding:14px 16px;border-left:2px solid var(--color-sage);background:var(--color-sage-soft);color:var(--color-muted);font-size:.82rem;}

/* Progress */
.progress-summary {padding:26px;border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-border);}
.progress-empty-summary {display:grid;justify-items:start;gap:10px;padding:26px;border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-border);}
.progress-empty-summary h2 {font:500 clamp(1.6rem,3vw,2.2rem)/1.15 var(--font-editorial);}
.progress-empty-summary .button {margin-top:8px;}
.empty-evidence-count {color:var(--color-accent);font:650 .76rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase;}
.empty-evidence-guide {max-width:720px;}
.progress-summary-head {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;}
.progress-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px;}
.progress-metric+.progress-metric {padding-left:16px;border-left:1px solid var(--color-border);}
.progress-metric>.small {margin-top:5px;}
.summary-meter {margin-top:20px;}
.progress-summary.is-compact {padding-block:20px;}
.progress-summary.is-compact .progress-metrics {margin-top:20px;}
.competency-units {display:grid;margin-top:20px;border-top:1px solid var(--color-border);}
.competency-unit {border-bottom:1px solid var(--color-border);}
.competency-unit>summary {display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 0;list-style:none;}
.competency-unit>summary::-webkit-details-marker {display:none;}
.competency-unit-title {display:grid;gap:2px;}
.competency-unit-title small {color:var(--color-muted);font-size:.72rem;font-weight:400;}
.competency-map {list-style:none;padding:0 0 16px 48px;}
.competency-map li {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--color-border);}
.competency-map .meter {max-width:360px;margin-top:9px;}
.progress-columns.two {grid-template-columns:repeat(2,minmax(0,1fr));}
.timeline {margin-top:12px;}
.timeline li {display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--color-border);}
.timeline li:last-child {border:0;}
.timeline a {font-weight:650;}
.timeline+.button,.card>.timeline~.button {margin-top:14px;}

/* Institution demo */
.institution-page {max-width:calc(1240px + 220px);}
.demo-banner {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border:1px solid #D6C8A5;background:#FBF7EC;color:#4F421F;font-size:.82rem;}
.institution-header {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}
.institution-header h1 {margin:10px 0;}
.institution-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-border);}
.institution-stat {padding:24px;}
.institution-stat+.institution-stat {border-left:1px solid var(--color-border);}
.institution-stat .small {margin-top:5px;}
.cohort-readout {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--color-border);}
.cohort-readout article {padding:22px 24px;}
.cohort-readout article+article {border-left:1px solid var(--color-border);}
.cohort-readout h2 {margin:7px 0;font-size:1.02rem;font-family:var(--font-interface);}
.institution-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start;}
.institution-span {grid-column:1/-1;}
.cohort-units {display:grid;}
.cohort-unit {display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--color-border);}
.cohort-unit:last-child {border:0;}
.cohort-unit .meter {margin-top:9px;}
.difficulty-list {counter-reset:rank;}
.difficulty-list li {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--color-border);}
.difficulty-list li>span {color:var(--color-muted);font-size:.73rem;white-space:nowrap;}
.learner-table {display:grid;min-width:620px;}
.learner-row {display:grid;grid-template-columns:1.1fr 1fr .5fr .8fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--color-border);}
.learner-row>*:nth-child(n+3) {text-align:right;}
.assessment-demo+.assessment-demo {padding-top:16px;border-top:1px solid var(--color-border);}
.assessment-demo p {margin-top:5px;}
.assessment-demo .meter {margin-top:12px;}
.activity-list li {padding:12px 0 12px 18px;border-bottom:1px solid var(--color-border);position:relative;}
.activity-list li::before {content:"";position:absolute;left:0;top:21px;width:6px;height:6px;border-radius:50%;background:var(--color-sage);}

/* Launch — about and local data */
.about-page {max-width:980px;margin-inline:auto;}
.about-grid {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,72px);}
.about-grid>.open-section {padding-top:22px;border-top:1px solid var(--color-border-strong);}
.about-grid h2 {margin:8px 0 12px;}
.about-grid .open-section>p:not(.eyebrow) {line-height:1.7;}
.about-facts {display:grid;margin:22px 0 0;}
.about-facts>div {display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--color-border);}
.about-facts dt {color:var(--color-muted);font-size:.78rem;}
.about-facts dd {margin:0;text-align:right;font-size:.84rem;font-weight:650;}
.methodology-panel {display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,72px);padding:28px 0;border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-border);}
.methodology-panel h2 {margin:8px 0 12px;}
.methodology-panel>div>p:last-child {line-height:1.7;}
.evidence-legend {display:grid;margin:0;}
.evidence-legend>div {display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr);gap:18px;padding:11px 0;border-bottom:1px solid var(--color-border);}
.evidence-legend dt {font-size:.8rem;font-weight:650;}
.evidence-legend dd {margin:0;color:var(--color-muted);font-size:.78rem;}
.plain-points {margin:18px 0;padding-left:20px;color:var(--color-muted);font-size:.87rem;}
.plain-points li+li {margin-top:8px;}
.local-data-panel>.button {margin-top:18px;}
.delete-confirmation {display:grid;gap:14px;margin-top:20px;padding:20px;border:1px solid var(--color-terracotta);background:#F7EFEB;}
.delete-confirmation .hero-buttons {margin-top:2px;}
.button.danger {border-color:var(--color-error);background:var(--color-error);color:#fff;}
.button.danger:hover {background:#7F302A;}

@media(max-width:800px) {
  .hero-grid,.path-hero,.recommended-session,.unit-layout,.lab-family {grid-template-columns:1fr;}
  .hero-grid {align-items:start;}
  .method-note,.hero-action {max-width:520px;}
  .recommended-session .button {width:100%;min-width:0;}
  .unit-row {grid-template-columns:46px minmax(0,1fr);}
  .unit-row>.button {grid-column:2;width:max-content;}
  .method-steps {grid-template-columns:repeat(2,minmax(0,1fr));}
  .practice-columns,.progress-columns {grid-template-columns:1fr;}
  .progress-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}
  .progress-metric:nth-child(3) {padding-left:0;border-left:0;}
  .institution-stats {grid-template-columns:repeat(2,minmax(0,1fr));}
  .cohort-readout {grid-template-columns:1fr;}
  .cohort-readout article {padding-inline:0;}
  .cohort-readout article+article {border-top:1px solid var(--color-border);border-left:0;}
  .institution-stat:nth-child(3) {border-left:0;border-top:1px solid var(--color-border);}
  .institution-stat:nth-child(4) {border-top:1px solid var(--color-border);}
  .learner-table {min-width:0;}
}
@media(max-width:560px) {
  .app-header {height:76px;padding:15px 20px;}
  .brand-mark {width:36px;height:36px;}
  .course-label {max-width:235px;overflow:hidden;text-overflow:ellipsis;}
  .editorial-hero,.home-hero,.unit-hero {padding-block:30px;}
  .hero-buttons {display:grid;}
  .hero-buttons .button {width:100%;}
  .home-secondary,.progress-columns.two,.institution-grid {grid-template-columns:1fr;}
  .action-strip,.secondary-band,.institution-header,.workbench-heading {align-items:stretch;flex-direction:column;}
  .action-strip,.secondary-band {display:grid;}
  .action-strip .button,.secondary-band .button {width:100%;}
  .home-unit {grid-template-columns:26px minmax(0,1fr) auto;gap:9px;}
  .home-unit-copy strong {font-size:.89rem;}
  .home-unit-copy small {font-size:.69rem;}
  .unit-row {grid-template-columns:48px minmax(0,1fr);gap:12px;padding:22px 0;}
  .unit-row.is-recommended {padding-inline:10px;}
  .unit-row>.button {grid-column:1/-1;width:100%;}
  .unit-title-line {display:grid;}
  .unit-copy>p {font-size:.84rem;}
  .unit-evidence {gap:4px 10px;}
  .unit-hero {grid-template-columns:58px minmax(0,1fr);gap:12px;}
  .method-steps {grid-template-columns:1fr 1fr;}
  .exercise-row {grid-template-columns:20px minmax(0,1fr);padding:12px 0;}
  .exercise-meta {grid-column:2;text-align:left;}
  .workbench-meta {justify-content:flex-start;}
  .progress-summary {padding-inline:0;}
  .progress-metrics {grid-template-columns:1fr 1fr;gap:20px 10px;}
  .progress-metric {padding-left:0!important;border-left:0!important;}
  .progress-metric .metric-value {font-size:1.7rem;}
  .competency-unit>summary {grid-template-columns:26px minmax(0,1fr);}
  .competency-unit>summary>.tag {grid-column:2;width:max-content;}
  .competency-map {padding-left:0;}
  .competency-map li {grid-template-columns:1fr;gap:4px;}
  .institution-stats {grid-template-columns:1fr 1fr;}
  .institution-stat {padding:18px 12px;}
  .institution-grid>.institution-span {grid-column:auto;}
  .learner-row {grid-template-columns:1fr auto;gap:5px 10px;}
  .learner-row>*:nth-child(n+3) {text-align:left;}
  .exam-actions {grid-template-columns:1fr;}
  .question-grid {grid-template-columns:repeat(5,minmax(44px,1fr));}
}

/* Mission Engine V1 */
.mission-shell{width:min(100%,1120px);margin-inline:auto;padding-bottom:24px;}
.mission-shell>.back-link{margin-bottom:clamp(24px,4vw,42px);}
.mission-briefing-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.55fr);gap:clamp(36px,7vw,88px);align-items:end;padding:clamp(34px,6vw,72px) 0;border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border);}
.mission-briefing-hero h1{max-width:13ch;margin:14px 0 24px;}
.mission-dossier{display:grid;gap:13px;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:rgba(10,20,32,.68);}
.mission-dossier>strong{font-size:1.45rem;}
.mission-dossier dl{display:grid;gap:9px;margin:6px 0 0;}
.mission-dossier dl>div{display:flex;justify-content:space-between;gap:16px;padding-top:9px;border-top:1px solid var(--color-border);}
.mission-dossier dt,.mission-dossier dd{margin:0;font-size:.8rem;}.mission-dossier dt{color:var(--color-muted)}.mission-dossier dd{font-weight:650;color:var(--color-text)}
.mission-start{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 0;border-bottom:1px solid var(--color-border);}.mission-start>p{max-width:62ch;color:var(--color-secondary)}
.mission-primary{flex:0 0 auto;}
.mission-progress{display:grid;gap:12px;margin-bottom:clamp(34px,6vw,64px);}.mission-progress-copy{display:flex;justify-content:space-between;gap:20px;color:var(--color-muted);font:600 .68rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.mission-progress-line{display:grid;gap:7px}.mission-progress-line span{height:3px;background:var(--color-border-strong)}.mission-progress-line span.is-active{background:var(--color-orange)}
.mission-scene-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(190px,230px);gap:clamp(42px,7vw,86px);align-items:start;justify-content:center;}.mission-scene-main{min-width:0}.mission-scene-main>h1{max-width:15ch;margin:12px 0 22px;font-size:clamp(2.15rem,5vw,4.25rem)}.mission-scene-body{max-width:68ch;color:var(--color-copy);font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.65}
.mission-context-rail{position:sticky;top:94px;display:grid;gap:9px;padding:20px 0 20px 20px;border-left:1px solid var(--color-border)}.mission-context-rail>strong{font-size:1.1rem}.mission-context-rail>p:not(.eyebrow){color:var(--color-secondary);font-size:.84rem}
.mission-decision-form{display:grid;gap:20px;margin-top:30px}.mission-choice-fieldset{display:grid;min-width:0;gap:10px;margin:0;padding:0;border:0}.mission-choice-fieldset legend{width:100%;margin-bottom:8px;padding:0;color:var(--color-text);font-weight:650}.mission-selection-count{justify-self:end;margin-top:-42px;margin-bottom:10px;color:var(--color-muted);font:600 .72rem var(--font-mono)}
.mission-choice{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:62px;padding:14px 16px;border:1px solid var(--color-border-strong);border-radius:var(--radius-button);background:rgba(10,20,32,.68);cursor:pointer;transition:border-color var(--motion-fast),background var(--motion-fast),transform var(--motion-fast)}.mission-choice:hover{border-color:var(--color-blue);transform:translateX(2px)}.mission-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.mission-choice:has(input:focus-visible){outline:3px solid var(--color-blue);outline-offset:3px}.mission-choice:has(input:checked){border-color:var(--color-orange);background:rgba(255,108,47,.09)}.mission-choice-letter{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-muted);font:600 .7rem var(--font-mono)}.mission-choice:has(input:checked) .mission-choice-letter{border-color:var(--color-orange);background:var(--color-orange);color:var(--color-bg)}.mission-choice-state{color:var(--color-orange-soft);font:600 .66rem var(--font-mono);text-transform:uppercase}.mission-choice-fieldset[disabled] .mission-choice{cursor:default}.mission-choice-fieldset[disabled] .mission-choice:hover{transform:none}
.mission-decision-form>.button{width:max-content;min-width:170px}.mission-consequence{display:grid;gap:12px;margin-top:14px;padding:24px;border-left:4px solid var(--color-blue);border-radius:0 var(--radius-card) var(--radius-card) 0;background:linear-gradient(110deg,rgba(95,143,255,.12),rgba(10,20,32,.82));animation:mission-reveal var(--motion-ui) var(--ease-standard)}.mission-consequence.tone-positive{border-left-color:var(--color-success);background:linear-gradient(110deg,rgba(156,231,183,.1),rgba(10,20,32,.82))}.mission-consequence.tone-dry-humor,.mission-consequence.tone-humorous-failure{border-left-color:var(--color-orange);background:linear-gradient(110deg,rgba(255,108,47,.13),rgba(10,20,32,.82))}.mission-consequence>p:not(.eyebrow){max-width:65ch}.mission-consequence-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.mission-first-attempt-note{padding-top:12px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.8rem}
@keyframes mission-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mission-resource{display:grid;gap:10px;margin:26px 0 2px;padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-raised)}.mission-resource h2{font-size:1.15rem}.mission-resource-document{border-left:3px solid var(--color-success);border-radius:0 var(--radius-card) var(--radius-card) 0}.mission-resource-card{border-top:3px solid var(--color-blue)}.mission-resource-card>p:last-child{font-size:1.04rem}.mission-resource-table{padding:0;overflow:hidden}.mission-resource-table figcaption{display:grid;gap:5px;padding:20px 22px;border-bottom:1px solid var(--color-border)}.mission-resource-table figcaption strong{font-size:1.15rem}.mission-table-scroll{overflow-x:auto}.mission-resource table{width:100%;min-width:430px;border-collapse:collapse}.mission-resource th,.mission-resource td{padding:13px 20px;border-bottom:1px solid var(--color-border);text-align:left}.mission-resource thead th{color:var(--color-muted);font:600 .68rem var(--font-mono);text-transform:uppercase}.mission-resource tbody th{font-weight:500}.mission-resource tbody td{color:var(--color-text);font-weight:650}.mission-rule{display:grid;gap:7px;margin:0;padding:18px 22px;border-left:3px solid var(--color-warning);background:rgba(242,202,123,.07);color:var(--color-text)}
.mission-resource-code{padding:0;overflow:hidden}.mission-resource-code figcaption{display:grid;gap:5px;padding:18px 22px;border-bottom:1px solid var(--color-border)}.mission-resource-code pre{max-height:480px;margin:0;padding:22px;overflow:auto;background:rgba(2,7,13,.72);white-space:pre-wrap}.mission-resource-code code{font:500 .78rem/1.65 var(--font-mono);color:var(--color-blue-soft)}.mission-resource-checklist ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.mission-resource-checklist li{position:relative;padding:10px 0 10px 25px;border-bottom:1px solid var(--color-border)}.mission-resource-checklist li::before{content:"✓";position:absolute;left:0;color:var(--color-success)}.mission-artifact{margin-top:34px;padding-top:28px;border-top:1px solid var(--color-border-strong)}.mission-artifact>.mission-resource{margin-top:14px}
.mission-debrief{max-width:900px}.mission-debrief-header{padding:34px 0;border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border)}.mission-debrief-header h1{margin:12px 0 20px}.mission-correction-summary{margin:24px 0;padding:16px 18px;border-left:3px solid var(--color-blue);background:rgba(95,143,255,.08)}.mission-skill-summary{display:grid;margin-top:32px;border-top:1px solid var(--color-border)}.mission-skill-result{display:grid;grid-template-columns:38px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--color-border)}.mission-skill-result h2{font-size:1.03rem;line-height:1.4}.mission-skill-result p{margin-top:5px;color:var(--color-secondary);font-size:.85rem}.mission-skill-result .tag{margin-top:10px}.mission-skill-symbol{display:grid;width:34px;height:34px;place-items:center;border:1px solid currentColor;border-radius:50%;font-weight:700}.mission-skill-result.is-acquired .mission-skill-symbol{color:var(--color-success)}.mission-skill-result.is-consolidate .mission-skill-symbol{color:var(--color-warning)}.mission-takeaway{display:grid;gap:12px;margin:40px 0 24px;padding:28px;border-left:4px solid var(--color-orange);background:rgba(255,108,47,.08)}.mission-takeaway>p:last-child{max-width:62ch;color:var(--color-text);font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.5}.mission-next-module{width:max-content}
.mission-locked{max-width:820px}.mission-locked-panel{display:grid;gap:18px;padding:clamp(26px,5vw,48px);border:1px solid var(--color-border);border-top:3px solid var(--color-orange);border-radius:var(--radius-card);background:rgba(10,20,32,.72)}.mission-unlock-count{color:var(--color-text);font:600 .78rem var(--font-mono)}.mission-unlock-list{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--color-border)}.mission-unlock-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:58px;padding:10px 0;border-bottom:1px solid var(--color-border)}.mission-unlock-list li>strong{font-size:.74rem}.mission-locked-panel>.button{width:max-content}
.module-mission-band{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:22px;align-items:center;padding:28px;border:1px solid var(--color-border);border-left:4px solid var(--color-muted);border-radius:0 var(--radius-card) var(--radius-card) 0;background:rgba(10,20,32,.66)}.module-mission-band.is-unlocked{border-left-color:var(--color-orange);background:linear-gradient(105deg,rgba(255,108,47,.12),rgba(10,20,32,.7))}.module-mission-band.is-complete{border-left-color:var(--color-success)}.module-mission-index{display:grid;width:54px;height:54px;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-orange);font:600 .72rem var(--font-mono)}.module-mission-copy{display:grid;gap:7px}.module-mission-copy h2{font-size:1.35rem}.module-mission-copy>p:last-child{color:var(--color-secondary);font-size:.88rem}.unit-row.is-locked{opacity:.78}.unit-row.is-locked>.button{border-style:dashed}
.mission-state{display:inline-flex;min-height:28px;align-items:center;width:max-content;padding:5px 9px;border:1px solid var(--color-border-strong);border-radius:999px;color:var(--color-secondary);font:600 .62rem/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.mission-state.is-locked{border-style:dashed;color:var(--color-copy)}.mission-state.is-available{border-color:var(--color-orange);background:rgba(255,108,47,.1);color:var(--color-orange-soft)}.mission-state.is-in-progress{border-color:var(--color-blue);background:rgba(95,143,255,.09);color:var(--color-blue-soft)}.mission-state.is-completed{border-color:var(--color-success);background:rgba(156,231,183,.08);color:var(--color-success)}.module-mission-heading{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.unit-mission-step{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:17px;padding-top:15px;border-top:1px solid var(--color-border);text-decoration:none}.unit-mission-step>span:first-child{color:var(--color-orange)}.unit-mission-step>span:nth-child(2){display:grid;gap:3px}.unit-mission-step small{color:var(--color-muted);font:600 .58rem var(--font-mono);letter-spacing:.06em}.unit-mission-step strong{font-size:.82rem}

/* Catalogue Missions : une séquence éditoriale, pas une grille de cartes. */
.missions-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--color-border-strong)}.missions-status-summary{display:grid;gap:8px;min-width:170px;padding-left:20px;border-left:2px solid var(--color-orange);color:var(--color-secondary);font:600 .68rem var(--font-mono);text-transform:uppercase}.mission-catalog{display:grid;border-top:1px solid var(--color-border-strong)}.mission-catalog-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:154px;padding:26px 4px;border-bottom:1px solid var(--color-border)}.mission-catalog-row.is-available{background:linear-gradient(90deg,rgba(255,108,47,.09),transparent 75%)}.mission-catalog-row.is-in-progress{background:linear-gradient(90deg,rgba(95,143,255,.08),transparent 75%)}.mission-catalog-row.is-completed{background:linear-gradient(90deg,rgba(156,231,183,.06),transparent 75%)}.mission-catalog-row.is-future{color:var(--color-secondary)}.mission-catalog-index{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-orange);font:600 .68rem var(--font-mono)}.mission-catalog-copy{display:grid;gap:8px;min-width:0}.mission-catalog-copy h2{font-size:clamp(1.3rem,2.4vw,1.8rem)}.mission-catalog-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.mission-catalog-meta{color:var(--color-muted);font:500 .68rem var(--font-mono);text-transform:uppercase}.mission-catalog-lock{color:var(--color-muted);font-size:1.6rem}.mission-catalog-row>.button{min-width:144px}

.mission-catalog-lock{position:relative;display:block;width:22px;height:18px;margin:10px;border:2px solid var(--color-muted);border-radius:4px;font-size:0}.mission-catalog-lock::before{content:"";position:absolute;left:4px;top:-11px;width:10px;height:10px;border:2px solid var(--color-muted);border-bottom:0;border-radius:8px 8px 0 0}.mission-catalog-lock.compact{display:inline-block;width:14px;height:12px;margin:2px 0 2px 4px;border-width:1px}.mission-catalog-lock.compact::before{left:3px;top:-7px;width:6px;height:6px;border-width:1px}

/* Passage explicite entre acquisition et application. */
.mission-unlock-moment{width:min(100%,900px);margin-inline:auto}.mission-unlock-module,.mission-unlock-next{display:grid;gap:15px;padding:clamp(28px,6vw,58px);border:1px solid var(--color-border);background:rgba(10,20,32,.68)}.mission-unlock-module{border-radius:var(--radius-panel) var(--radius-panel) 0 0}.mission-unlock-module h1{max-width:16ch}.mission-unlock-module>p:last-child{color:var(--color-success);font-weight:650}.mission-unlock-divider{display:grid;height:70px;place-items:center;border-inline:1px solid var(--color-border);color:var(--color-orange);font:600 1.4rem var(--font-mono);background:linear-gradient(rgba(10,20,32,.68),rgba(255,108,47,.08))}.mission-unlock-divider span{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--color-orange);border-radius:50%}.mission-unlock-next{border-top:3px solid var(--color-orange);border-radius:0 0 var(--radius-panel) var(--radius-panel);background:radial-gradient(circle at 0 100%,rgba(255,108,47,.12),transparent 32rem),rgba(10,20,32,.76)}.mission-unlock-next h2{max-width:15ch;font-size:clamp(2rem,5vw,3.8rem)}.mission-unlock-next .hero-lede{max-width:58ch}.mission-unlock-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
@media(max-width:800px){.mission-briefing-hero,.mission-scene-layout{grid-template-columns:1fr}.mission-context-rail{display:none}.module-mission-band{grid-template-columns:48px minmax(0,1fr)}.module-mission-band>.button{grid-column:1/-1;width:100%}.mission-start{align-items:stretch;flex-direction:column}.mission-primary{width:100%}}
@media(max-width:800px){.missions-hero{grid-template-columns:1fr}.missions-status-summary{padding:16px 0 0;border-top:1px solid var(--color-border);border-left:0}.mission-catalog-row{grid-template-columns:48px minmax(0,1fr)}.mission-catalog-row>.button,.mission-catalog-row>.mission-catalog-lock{grid-column:2;width:max-content}}
@media(max-width:800px){.missions-hero{grid-template-columns:1fr;gap:24px;align-items:start}.missions-status-summary{min-width:0;padding:14px 0 0;border-top:2px solid var(--color-orange);border-left:0}}
@media(max-width:560px){.mission-shell>.back-link{margin-bottom:22px}.mission-briefing-hero{padding:28px 0}.mission-dossier{padding:18px}.mission-progress-copy span:last-child{display:none}.mission-scene-main>h1{font-size:clamp(2rem,11vw,3rem)}.mission-choice{grid-template-columns:30px minmax(0,1fr);padding:13px 12px}.mission-choice-state{grid-column:2}.mission-decision-form>.button,.mission-consequence-actions>.button,.mission-next-module,.mission-locked-panel>.button{width:100%}.mission-consequence{padding:20px 16px}.mission-resource{padding:18px}.mission-resource-table{padding:0}.mission-skill-result{grid-template-columns:32px minmax(0,1fr);gap:12px}.mission-takeaway{padding:22px 18px}.mission-locked-panel{padding:24px 18px}.mission-unlock-list li{grid-template-columns:22px minmax(0,1fr)}.mission-unlock-list li>strong{grid-column:2}.module-mission-band{padding:22px 16px}.module-mission-index{width:44px;height:44px}.unit-mission-step{grid-template-columns:18px minmax(0,1fr)}.unit-mission-step .mission-state{grid-column:2}.mission-catalog-row{grid-template-columns:40px minmax(0,1fr);gap:14px;padding-block:24px}.mission-catalog-index{width:38px;height:38px}.mission-catalog-row>.button{grid-column:1/-1;width:100%}.mission-catalog-row>.mission-catalog-lock{grid-column:2}.mission-unlock-module,.mission-unlock-next{padding:26px 20px}.mission-unlock-actions{display:grid}.mission-unlock-actions .button{width:100%}}
@media(max-width:560px){.mission-unlock-module,.mission-unlock-next{gap:11px;padding:20px}.mission-unlock-module h1{font-size:clamp(2rem,10vw,2.45rem)}.mission-unlock-next h2{font-size:clamp(1.8rem,8.7vw,2.25rem)}.mission-unlock-next .hero-lede{font-size:.96rem}.mission-unlock-divider{height:50px}.mission-unlock-actions{display:flex;flex-wrap:nowrap;gap:8px;margin-top:5px}.mission-unlock-actions .button{width:auto;padding-inline:12px}.mission-unlock-actions .button:first-child{flex:1 1 auto}.mission-unlock-actions .button:last-child{flex:0 0 auto}}
@media(min-width:900px) {
  .institution-page {width:100%;max-width:1240px;margin-inline:auto;}
}
@container(max-width:300px) {
  .home-unit {grid-template-columns:minmax(0,1fr) auto;}
  .home-unit>.unit-number {display:none;}
  .home-unit-coverage {grid-column:2;grid-row:1;}
}

/* Phase 2 — lesson grammar */
.lesson-page {max-width:1000px;margin-inline:auto;gap:clamp(30px,5vw,56px);}
.lesson-breadcrumb {display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--color-border);}
.lesson-position {color:var(--color-muted);font:600 .7rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;}
.lesson-header {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--color-text);}
.lesson-header h1 {margin:12px 0 18px;}
.lesson-status {display:flex;align-items:center;gap:8px;color:var(--color-muted);font-size:.84rem;font-weight:650;}
.evidence-dot {width:8px;height:8px;border:2px solid var(--color-sage);border-radius:50%;}
.lesson-marker {color:var(--color-sand);font:500 clamp(4rem,10vw,7rem)/.8 var(--font-editorial);}
.lesson-layout {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.58fr);gap:clamp(34px,6vw,72px);align-items:start;}
.concept-lesson {display:grid;border-top:1px solid var(--color-border-strong);}
.lesson-section {display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;padding:28px 0;border-bottom:1px solid var(--color-border);}
.lesson-section-index {padding-top:2px;color:var(--color-muted);font:600 .67rem var(--font-mono);}
.lesson-section-body {display:grid;gap:11px;}
.lesson-section-body>p:not(.eyebrow) {font-size:1.02rem;line-height:1.68;}
.mini-lesson-part {display:grid;gap:8px;padding:20px 0;border-bottom:1px solid var(--color-border);}
.mini-lesson-part:first-of-type {padding-top:6px;}
.mini-lesson-part:last-child {border-bottom:0;}
.mini-lesson-part h3 {font-size:1.08rem;line-height:1.4;}
.mini-lesson-part p,.technical-term p {font-size:1rem;line-height:1.68;}
.technical-term {display:grid;gap:8px;margin:8px 0;padding:20px;border-left:3px solid var(--color-accent);background:var(--color-surface-muted);}
.technical-term h3 {font-size:1.25rem;}
.lesson-idea .lesson-section-body>p:not(.eyebrow) {max-width:30ch;font:500 clamp(1.45rem,3vw,2.05rem)/1.35 var(--font-editorial);letter-spacing:-.02em;}
.lesson-example .lesson-section-body {padding:20px;border-left:3px solid var(--color-sage);background:var(--color-sage-soft);}
.lesson-trap .lesson-section-body {padding-left:20px;border-left:3px solid var(--color-terracotta);}
.lesson-distinguish .lesson-section-body>p:not(.eyebrow)::before {content:"≠";margin-right:10px;color:var(--color-accent);font:600 1rem var(--font-mono);}
.lesson-source {display:flex;flex-wrap:wrap;gap:10px 18px;padding:18px 0;color:var(--color-muted);font-size:.75rem;}
.lesson-quick-checks {display:grid;gap:12px;padding:34px 0;border-top:1px solid var(--color-border-strong);scroll-margin-top:96px;}
.lesson-quick-checks>h2 {font-size:clamp(1.35rem,2.5vw,1.75rem);}
.quick-check-list {display:grid;gap:18px;margin-top:12px;}
.quick-check-item {display:grid;gap:14px;padding:20px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-muted);}
.quick-check-item fieldset {min-width:0;margin:0;padding:0;border:0;}
.quick-check-item legend {display:flex;gap:10px;margin-bottom:14px;padding:0;font-weight:650;line-height:1.45;}
.quick-check-number {flex:0 0 auto;color:var(--color-muted);font:600 .68rem var(--font-mono);}
.quick-check-options {display:grid;gap:8px;}
.quick-check-option {position:relative;display:flex;min-height:52px;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;cursor:pointer;}
.quick-check-option input {width:20px;height:20px;flex:0 0 auto;accent-color:var(--color-accent);}
.quick-check-option:has(input:focus-visible) {outline:3px solid var(--color-accent);outline-offset:2px;}
.quick-check-option.answer-correct::after {content:"Bonne réponse";margin-left:auto;font-size:.72rem;font-weight:700;}
.quick-check-option.answer-incorrect::after {content:"Votre choix";margin-left:auto;font-size:.72rem;font-weight:700;}
.quick-check-feedback {padding:12px 14px;border-left:3px solid var(--color-border-strong);background:var(--color-surface);font-size:.92rem;line-height:1.55;}
.quick-check-feedback.is-correct {border-left-color:var(--color-sage);}
.quick-check-feedback.is-incorrect,.quick-check-feedback.is-missing {border-left-color:var(--color-terracotta);}
.quick-check-item>.button {width:max-content;}
.lesson-evidence {border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-border);}
.lesson-evidence>summary {display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;list-style:none;}
.lesson-evidence>summary::-webkit-details-marker {display:none;}
.lesson-evidence>summary h2 {margin-top:5px;font-size:1.05rem;}
.evidence-summary-label {color:var(--color-accent);font-size:.78rem;font-weight:650;}
.lesson-evidence[open] .evidence-summary-label {font-size:0;}
.lesson-evidence[open] .evidence-summary-label::after {content:"Refermer";font-size:.78rem;}
.evidence-content {display:grid;gap:20px;padding:6px 0 26px;}
.evidence-support {display:grid;gap:8px;padding:18px;background:var(--color-surface-muted);}
.evidence-support>p:not(.eyebrow) {line-height:1.6;}
.evidence-class {width:max-content;max-width:100%;padding-top:8px;border-top:1px solid var(--color-border);color:var(--color-accent);font:650 .68rem/1.45 var(--font-mono);text-transform:uppercase;}
.framework-status {display:grid;gap:5px;padding:16px 18px;border-left:3px solid var(--color-terracotta);background:#F7EFEB;}
.framework-status strong {font-size:.83rem;}
.framework-status p {color:var(--color-muted);font-size:.8rem;line-height:1.55;}
.evidence-list {display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--color-border);}
.evidence-reference {display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--color-border);}
.evidence-reference-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.evidence-kind {font:650 .64rem/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;}
.evidence-kind.research {color:var(--color-success);}
.evidence-kind.report {color:var(--color-accent);}
.evidence-kind.provider {color:var(--color-warning);}
.evidence-kind.industry {color:var(--color-terracotta);}
.evidence-year {color:var(--color-muted);font:600 .68rem var(--font-mono);}
.evidence-title {display:flex;min-height:44px;align-items:center;font-weight:650;text-underline-offset:4px;}
.evidence-more {border-bottom:1px solid var(--color-border);}
.evidence-more>summary {color:var(--color-accent);font-size:.8rem;}
.evidence-list.additional {margin-bottom:10px;border-top:0;}
.evidence-scope-note {max-width:66ch;color:var(--color-muted);font-size:.74rem;line-height:1.55;}
.lesson-actions {position:sticky;top:24px;display:grid;gap:14px;padding:24px 0 24px 22px;border-left:1px solid var(--color-border-strong);}
.lesson-actions .button {width:100%;margin-top:8px;}
.next-lesson-link {height:auto;line-height:1.45;}
.lesson-sequence {display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:24px;border-top:1px solid var(--color-border-strong);}
.lesson-sequence>a {display:grid;gap:5px;min-height:64px;padding:10px 0;font-weight:650;text-decoration:none;}
.lesson-sequence>a:last-child {text-align:right;}
.lesson-sequence a span {color:var(--color-muted);font:600 .65rem var(--font-mono);letter-spacing:.08em;}
.lesson-revision-action {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);}
.lesson-revision-action h2 {margin:7px 0;}

/* Phase 2 — unit as a learning sequence */
.learning-next {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:clamp(24px,4vw,36px);border-left:4px solid var(--color-accent);background:var(--color-accent-soft);}
.learning-next h2 {margin:8px 0;}
.learning-next>.button {min-width:190px;}
.unit-lesson-list {margin-top:18px;padding:0;list-style:none;border-top:1px solid var(--color-border);}
.unit-lesson-list li {border-bottom:1px solid var(--color-border);}
.unit-lesson-list a {display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:92px;padding:14px 0;text-decoration:none;}
.lesson-row-index {color:var(--color-muted);font:600 .68rem var(--font-mono);}
.lesson-row-copy {display:grid;gap:3px;}
.lesson-row-copy>small {max-width:65ch;color:var(--color-muted);font-size:.78rem;}
.lesson-row-evidence {width:max-content;margin-top:4px;color:var(--color-muted);font:600 .64rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase;}
.lesson-row-action {color:var(--color-accent);font-size:.78rem;font-weight:650;white-space:nowrap;}
.unit-lesson-list a:hover .lesson-row-copy>strong {text-decoration:underline;text-underline-offset:4px;}
.practice-band {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:26px 0;border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border);}
.practice-band h2 {margin:7px 0;}
.practice-band .training-score {margin-top:14px;}
.practice-band .meter {margin-top:5px;}
.unit-tools {display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:clamp(28px,5vw,56px);align-items:start;}
.unit-tools>.open-section {padding-top:20px;border-top:1px solid var(--color-border-strong);}
.unit-tools h2 {margin:7px 0;}
.unit-tools .button {margin-top:18px;}
.review-unit {display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:40px;padding-top:24px;border-top:1px solid var(--color-border-strong);}
.review-unit-heading {display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-content:start;}
.review-lesson-list {padding:0;list-style:none;}
.review-lesson-list li {border-bottom:1px solid var(--color-border);}
.review-lesson-list a {display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;text-decoration:none;}
.review-lesson-list a>span:first-child {display:grid;gap:3px;}
.review-lesson-list small {color:var(--color-muted);font-size:.74rem;}

/* Phase 2 — workbench interactions */
.workbench-instruction {padding-left:16px;border-left:2px solid var(--color-accent);font-weight:600;}
.annotation-list {display:grid;border-top:1px solid var(--color-border);}
.annotation-row {display:grid;gap:16px;margin:0;padding:22px 0;border:0;border-bottom:1px solid var(--color-border);}
.annotation-row>legend {padding:0;}
.choice-chip-fieldset {min-width:0;margin:0;padding:0;border:0;}
.choice-chips {display:flex;flex-wrap:wrap;gap:7px;}
.choice-chip {position:relative;display:inline-flex;min-height:44px;align-items:center;cursor:pointer;}
.choice-chip input {position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;}
.choice-chip span {display:flex;min-height:44px;align-items:center;padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface);font-size:.77rem;font-weight:650;transition:background .16s,border-color .16s,color .16s;}
.choice-chip:has(input:checked) span {border-color:var(--color-accent);background:var(--color-accent);color:#fff;}
.choice-chip:has(input:focus-visible) span {outline:3px solid var(--color-accent);outline-offset:3px;}
.exercise-context {display:grid;gap:8px;padding:18px;border-left:3px solid var(--color-sage);background:var(--color-sage-soft);}
.surgery-option {border-radius:0;border-inline:0;background:transparent;}
.surgery-option:has(input:checked) {border-color:var(--color-terracotta)!important;background:#F7EFEB!important;}
.completion-option {border-radius:6px;}
.model-candidates {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.model-candidate {display:grid;gap:16px;padding:20px;border:1px solid var(--color-border);background:var(--color-surface);}
.model-candidate-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.model-candidate-heading h2 {margin-top:4px;}
.model-cost {font:650 .78rem var(--font-mono);}
.model-evidence {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;}
.model-evidence>div {padding:10px;background:var(--color-surface-muted);}
.model-evidence dt {color:var(--color-muted);font-size:.67rem;}
.model-evidence dd {margin:2px 0 0;font-size:.83rem;font-weight:650;}
.model-decision {margin:0;padding:22px 0 0;border:0;border-top:1px solid var(--color-border-strong);}
.model-decision>legend {padding:0 0 14px;font-weight:650;}
.model-decision-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.model-decision-card {position:relative;display:grid;gap:3px;min-height:64px;padding:12px;border:1px solid var(--color-border-strong);cursor:pointer;}
.model-decision-card input {position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;}
.model-decision-card small {color:var(--color-muted);}
.model-decision-card:has(input:checked) {border-color:var(--color-accent);background:var(--color-accent-soft);}
.model-decision-card:has(input:focus-visible) {outline:3px solid var(--color-accent);outline-offset:3px;}
.lab-workbench .session-actions {position:static;margin-top:8px;padding:0;border:0;background:transparent;}
.lab-workbench .session-actions .button {width:100%;}

/* Phase 2 — progressive progress disclosure */
.progress-priorities {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,56px);}
.evidence-panel {padding-top:22px;border-top:1px solid var(--color-border-strong);}
.evidence-panel h2 {margin:7px 0 14px;}
.next-panel {padding:22px;border-top-color:var(--color-accent);background:var(--color-accent-soft);}
.next-panel>.button {margin-top:18px;}
.evidence-list {padding:0;list-style:none;}
.evidence-list li {display:grid;gap:7px;padding:13px 0;border-bottom:1px solid var(--color-border);}
.evidence-list li:last-child {border:0;}
.evidence-list a {font-weight:650;text-underline-offset:4px;}
.evidence-list li>div {display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.skill-map-disclosure {border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-border);}
.skill-map-disclosure>summary {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;list-style:none;}
.skill-map-disclosure>summary::-webkit-details-marker {display:none;}
.skill-map-disclosure>summary h2 {margin-top:6px;}
.disclosure-hint {color:var(--color-accent);font-size:.78rem;font-weight:650;}
.skill-map-disclosure[open] .disclosure-hint {font-size:0;}
.skill-map-disclosure[open] .disclosure-hint::after {content:"Replier";font-size:.78rem;}
.skill-map-disclosure>.competency-units {margin:0;}

@media(max-width:800px) {
  .lesson-layout,.learning-next,.practice-band,.unit-tools,.review-unit {grid-template-columns:1fr;}
  .lesson-actions {position:static;padding:20px 0 0;border-top:1px solid var(--color-border-strong);border-left:0;}
  .learning-next>.button,.practice-band>.button {width:100%;min-width:0;}
  .progress-priorities {grid-template-columns:1fr;}
  .about-grid {grid-template-columns:1fr;}
  .methodology-panel {grid-template-columns:1fr;}
}
@media(max-width:560px) {
  .lesson-page {gap:34px;}
  .lesson-header {grid-template-columns:1fr;}
  .lesson-marker {display:none;}
  .lesson-breadcrumb {align-items:flex-start;}
  .lesson-position {padding-top:14px;text-align:right;}
  .lesson-section {grid-template-columns:28px minmax(0,1fr);gap:8px;padding:22px 0;}
  .technical-term,.quick-check-item {padding:16px;}
  .quick-check-item>.button {width:100%;}
  .quick-check-option {align-items:flex-start;}
  .lesson-example .lesson-section-body,.lesson-trap .lesson-section-body {padding:16px;}
  .lesson-sequence {gap:14px;}
  .lesson-sequence>a {font-size:.78rem;}
  .lesson-evidence>summary {align-items:flex-start;}
  .evidence-reference-heading {align-items:flex-start;}
  .evidence-legend>div {grid-template-columns:1fr;gap:3px;}
  .lesson-revision-action {align-items:stretch;flex-direction:column;}
  .lesson-revision-action .button {width:100%;}
  .unit-lesson-list a {grid-template-columns:28px minmax(0,1fr);gap:10px;}
  .lesson-row-action {grid-column:2;}
  .lesson-row-copy>small {font-size:.74rem;}
  .review-lesson-list a {align-items:flex-start;flex-direction:column;gap:8px;}
  .choice-chips {gap:6px;}
  .choice-chip span {padding-inline:10px;font-size:.72rem;}
  .model-candidates,.model-decision-options {grid-template-columns:1fr;}
  .model-candidate {padding:16px;}
}
