.public-evidence-sheet{padding:8px}
body::after{background-image:none}
.public-count-sheet{height:330px;padding:24px;background:linear-gradient(145deg,#fffdf8,#eef1ed);color:var(--color-ink);display:grid;grid-template-rows:auto 1fr auto;gap:18px;border:1px solid var(--color-line-control)}
.public-sheet-heading{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--color-teal-deep);padding-bottom:12px}
.public-sheet-heading small,.public-count-sheet p{font:600 10px "IBM Plex Mono",monospace;letter-spacing:.08em;color:var(--color-ink-muted)}
.public-sheet-heading strong{font:650 21px Newsreader,serif;color:var(--color-ink-strong)}
.public-sheet-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-content:center;border-top:1px solid var(--color-line-control);border-left:1px solid var(--color-line-control)}
.public-sheet-grid>*{min-height:42px;display:flex;align-items:center;padding:8px 10px;border-right:1px solid var(--color-line-control);border-bottom:1px solid var(--color-line-control)}
.public-sheet-grid span{font:600 9px "IBM Plex Mono",monospace;letter-spacing:.06em;background:var(--color-surface-teal);color:var(--color-teal-deep)}
.public-sheet-grid b{font-size:12px;color:var(--color-ink-strong)}
.public-sheet-grid i,.public-sheet-grid em{font:500 11px "IBM Plex Sans",sans-serif;font-style:normal;color:var(--color-ink-muted)}
.public-sheet-grid em{background:var(--color-surface-copper);color:var(--color-copper-deep)}
.public-count-sheet p{margin:0}
.observer-check p{gap:8px}.observer-check p b{font-family:"IBM Plex Sans",sans-serif;font-size:16px;letter-spacing:.04em}

.compact-demo .demo-fallback{object-fit:contain;object-position:center top;background:#061020}
.resource-card.is-static{grid-template-columns:52px 1fr;cursor:default}
.resource-card.is-static:hover{transform:none;background:var(--color-surface-raised);border-color:var(--color-line)}
.resource-card.is-static .file-icon{font-size:8px;letter-spacing:.05em}
.modal{pointer-events:none;transition:opacity .22s}.modal.is-open{pointer-events:auto}

.public-lng-chart{height:290px;padding:22px 24px 16px;background:var(--color-surface-raised);border:1px solid var(--color-line-control);box-shadow:var(--shadow-low);display:grid;grid-template-rows:auto 1fr;gap:14px}
.public-chart-key{display:flex;justify-content:flex-end;gap:18px;font:600 10px "IBM Plex Mono",monospace;color:var(--color-ink-muted)}
.public-chart-key span{display:flex;align-items:center;gap:7px}
.public-chart-key .chart-reading-key{margin-right:auto;color:var(--color-copper-deep)}
.public-chart-key i{width:11px;height:11px;display:inline-block}
.lng-key,.lng-bar{background:var(--color-teal)}
.mgo-key,.mgo-bar{background:var(--color-ink-soft)}
.public-lng-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;align-items:end;border-bottom:1px solid var(--color-line-control);border-left:1px solid var(--color-line-control);padding:0 16px 0 20px}
.public-load{height:205px;display:grid;grid-template-rows:1fr auto;gap:9px;align-items:end}
.public-load>b{text-align:center;font:600 10px "IBM Plex Mono",monospace;color:var(--color-ink-muted)}
.public-pair{height:178px;display:flex;align-items:flex-end;justify-content:center;gap:6px}
.public-pair i{width:22px;height:var(--value);display:block;border-radius:2px 2px 0 0;box-shadow:inset 0 1px rgba(255,255,255,.35)}
.public-lng-figure figcaption{color:var(--color-ink-muted)}

/* Missions 02–03 : une fiche par outil, pensée pour la projection. */
.public-estimator-slide{--chapter:var(--color-teal)}
.public-manifest-slide{--chapter:var(--color-copper)}
.public-tool-layout{display:grid;align-content:center;padding-top:50px;padding-bottom:18px}
.public-tool-layout .tool-pane{min-height:0;padding:22px 24px;border-top-width:3px;box-shadow:var(--shadow-low)}
.public-tool-layout .public-tool-header{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(250px,.52fr);gap:18px;align-items:end;margin:0;padding-bottom:17px;border-bottom:1px solid var(--color-line)}
.public-tool-header .eyebrow{align-self:start;margin:4px 0 0}
.public-tool-header h2{margin:0;font-size:clamp(34px,3.15vw,49px);line-height:.98;letter-spacing:-.025em}
.public-tool-intro{margin:0;font-size:13px;line-height:1.5;color:var(--color-ink-muted)}

.public-estimator-pane{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(500px,1.28fr);grid-template-rows:auto minmax(0,1fr);gap:19px 24px;min-height:560px}
.public-estimator-pane>.public-tool-header{grid-column:1/-1}
.public-estimator-proof{display:flex;min-width:0;flex-direction:column}
.public-estimator-proof .tool-stats{margin:0 0 12px}
.public-estimator-proof .tool-stats span{padding:9px 10px}
.public-filter-note{margin:-5px 0 10px;font:500 9px/1.4 "IBM Plex Mono",monospace;color:var(--color-ink-muted)}
.public-operation-route{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}
.public-operation-route>span{position:relative;display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:9px 6px}
.public-operation-route>span+span{border-top:1px solid var(--color-line)}
.public-operation-route small{grid-row:1/3;align-self:center;font:650 10px "IBM Plex Mono",monospace;color:var(--color-copper-deep)}
.public-operation-route strong{font-size:13px;color:var(--color-ink-strong)}
.public-operation-route em{font-size:10px;font-style:normal;color:var(--color-ink-muted)}
.public-operation-route>i{display:none}
.public-safety-note{margin:12px 0 0;padding:11px 12px;border-left:3px solid var(--color-teal);background:var(--color-surface-teal);font-size:11px;line-height:1.45;color:var(--color-ink-soft)}
.public-safety-note span{display:block;margin-bottom:4px;font:650 9px "IBM Plex Mono",monospace;letter-spacing:.08em;color:var(--color-teal-deep)}
.public-estimator-proof .tool-actions{margin-top:auto;padding-top:12px}
.estimator-launch-link{display:flex;align-items:center;justify-content:center;text-decoration:none}
.public-estimator-preview{align-self:stretch;height:auto;min-height:385px;border-radius:5px}
.public-estimator-preview .demo-fallback{object-fit:contain;object-position:center top;background:var(--color-screen)}

.public-manifest-pane{display:grid;grid-template-rows:auto 1fr auto;gap:18px;min-height:540px}
.public-manifest-core{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;align-items:stretch}
.public-manifest-pane .compact-workflow{min-width:0;margin:0;padding:12px}
.public-manifest-pane .compact-workflow .workflow-step{min-height:104px;padding:10px 8px}
.public-manifest-pane .compact-workflow .workflow-step strong{font-size:15px}
.public-manifest-pane .compact-workflow .workflow-detail{min-height:62px;margin-top:9px;padding:10px 12px}
.public-human-control{position:relative;display:grid;align-content:center;padding:20px;border:1px solid var(--color-teal);background:var(--color-surface-teal);box-shadow:inset 4px 0 var(--color-teal)}
.public-human-control::before{content:"05";position:absolute;right:14px;top:10px;font:560 46px/1 Newsreader,serif;color:rgba(22,92,95,.12)}
.public-human-control>span{font:650 9px "IBM Plex Mono",monospace;letter-spacing:.1em;color:var(--color-teal-deep)}
.public-human-control>strong{margin:12px 0 7px;font:560 24px/1.05 Newsreader,serif;color:var(--color-ink-strong)}
.public-human-control>p{margin:0;font-size:11px;line-height:1.45;color:var(--color-ink-muted)}
.public-manifest-pane .time-shift{grid-template-columns:1fr 90px 1fr;margin:0;padding:12px 0 0}
.public-manifest-pane .time-shift>div{padding:0 14px}
.public-manifest-pane .time-shift strong{font-size:28px}
.public-manifest-pane .time-shift span{display:block;margin-top:2px;font-size:10px}

@media(max-height:820px) and (min-width:900px){
  .public-count-sheet{height:280px;padding:18px;gap:12px}
  .public-lng-chart{height:245px;padding:16px 20px 12px}
  .public-load{height:168px}.public-pair{height:145px}
  .public-tool-layout{padding-top:40px;padding-bottom:10px}
  .public-tool-layout .tool-pane{padding:15px 18px}
  .public-tool-layout .public-tool-header{padding-bottom:12px}
  .public-tool-header h2{font-size:36px}
  .public-estimator-pane{min-height:490px;gap:13px 18px}
  .public-estimator-preview{min-height:330px}
  .public-safety-note{margin-top:8px;padding:8px 10px}
  .public-estimator-proof .tool-actions{padding-top:8px}
  .public-manifest-pane{min-height:475px;gap:13px}
  .public-manifest-pane .compact-workflow .workflow-step{min-height:86px}
  .public-manifest-pane .compact-workflow .workflow-detail{min-height:51px;padding:7px 10px}
  .public-human-control{padding:15px}
  .public-human-control>strong{font-size:21px}
  .public-manifest-pane .time-shift{padding-top:8px}
}

@media(max-width:899px){
  .public-count-sheet{height:auto;min-height:270px}
  .public-lng-chart{height:280px}
  .public-lng-bars{gap:8px;padding-inline:10px}
  .public-pair i{width:15px}
  .public-tool-layout{display:block;padding-top:66px}
  .public-tool-layout .tool-pane{padding:16px;min-height:0}
  .public-tool-layout .public-tool-header{display:block;padding-bottom:14px}
  .public-tool-header .eyebrow{margin-bottom:10px}
  .public-tool-header h2{font-size:36px}
  .public-tool-intro{margin-top:10px}
  .public-estimator-pane{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:16px}
  .public-estimator-pane>.public-tool-header{grid-column:1}
  .public-estimator-preview{grid-row:2;min-height:320px}
  .public-estimator-proof{grid-row:3}
  .public-manifest-pane{display:grid;grid-template-rows:auto auto auto}
  .public-manifest-core{grid-template-columns:1fr}
  .public-manifest-pane .compact-workflow .workflow-steps{grid-template-columns:1fr 1fr}
  .public-manifest-pane .compact-workflow .workflow-step{min-height:88px}
  .public-human-control{min-height:155px}
}

/* Mémoire — précisions académiques lisibles sans interaction. */
#memory-economy .final-source{max-width:1280px;line-height:1.45}
#memory-economy .economic-ledger span em{display:block;margin-top:2px;font-style:normal;color:var(--color-copper-deep)}

#memory-externalities .territorial-acceptability{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  align-items:center;
  gap:18px;
  margin:0;
  padding:10px 14px;
  border-left:3px solid var(--color-gold);
  background:color-mix(in srgb,var(--color-surface-copper) 62%,var(--color-surface-raised));
  box-shadow:var(--shadow-low);
  font-size:12px;
  line-height:1.4;
  color:var(--color-ink-soft)
}
#memory-externalities .territorial-acceptability span{
  font:650 10px/1.3 "IBM Plex Mono",monospace;
  letter-spacing:.08em;
  color:var(--color-copper-deep)
}
#memory-externalities .nox-proof small{
  display:block;
  margin:0 0 7px;
  font:650 10px/1.3 "IBM Plex Mono",monospace;
  color:var(--color-danger)
}
#memory-externalities .nox-proof span{display:block}

#memory-transition .transition-controls{display:grid;gap:8px;align-content:start}
#memory-transition .transition-reading{align-self:stretch;align-content:stretch}
#memory-transition .transition-reading>div{display:grid;align-content:center}
#memory-transition .regulation-key{
  margin:0;
  border:1px solid var(--color-line);
  border-left:3px solid var(--color-copper);
  background:var(--color-surface-raised);
  box-shadow:var(--shadow-low)
}
#memory-transition .regulation-key>div{
  display:grid;
  grid-template-columns:122px minmax(0,1fr);
  gap:9px;
  padding:7px 10px
}
#memory-transition .regulation-key>div+div{border-top:1px solid var(--color-line)}
#memory-transition .regulation-key dt{
  font:650 10px/1.35 "IBM Plex Mono",monospace;
  color:var(--color-copper-deep)
}
#memory-transition .regulation-key dd{
  margin:0;
  font-size:11px;
  line-height:1.35;
  color:var(--color-ink-muted)
}
#memory-transition .cenaq-head{grid-row:1/3}
#memory-transition .cenaq-notes{display:grid;gap:5px}
#memory-transition .cenaq-notes p{margin:0;font-size:11px;line-height:1.35;color:var(--color-ink-muted)}
#memory-transition .cenaq-notes .cenaq-limit{
  padding:7px 9px;
  border-left:3px solid var(--color-copper);
  background:var(--color-surface-copper);
  color:var(--color-ink-soft)
}
#memory-transition .cenaq-limit b{
  margin-right:7px;
  font:650 10px "IBM Plex Mono",monospace;
  letter-spacing:.07em;
  color:var(--color-copper-deep)
}

#memory-gnl .lng-layout{grid-template-rows:auto auto auto auto;gap:8px 3vw;align-content:center}
#memory-gnl .lng-layout>header h2{font-size:clamp(35px,3vw,46px);max-width:850px}
#memory-gnl .lng-contrast{gap:6px;align-self:stretch}
#memory-gnl .lng-contrast button{min-height:0;padding:10px 13px}
#memory-gnl .lng-contrast strong{margin:5px 0 2px;font-size:23px}
#memory-gnl .lng-contrast span,#memory-gnl .lng-contrast b{font-size:11px;line-height:1.3}
#memory-gnl .methane-definition{
  padding:10px 12px;
  border-left:3px solid var(--color-danger);
  background:var(--color-surface-copper);
  box-shadow:var(--shadow-low)
}
#memory-gnl .methane-definition strong{
  display:block;
  margin:0 0 3px;
  font:560 19px/1.05 Newsreader,serif;
  color:var(--color-ink-strong)
}
#memory-gnl .methane-definition p{
  margin:0;
  font-size:11px;
  line-height:1.35;
  color:var(--color-ink-soft)
}
#memory-gnl .methane-definition span{
  display:block;
  margin-top:5px;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
  color:var(--color-danger)
}
#memory-gnl .lng-detail{grid-column:auto;margin:0;padding:8px 10px;font-size:11px;line-height:1.35}
#memory-gnl .lng-synthesis{
  grid-column:1/-1;
  margin:0;
  padding:9px 13px;
  border-left:3px solid var(--color-teal);
  background:var(--color-surface-teal);
  box-shadow:var(--shadow-low);
  font:560 16px/1.35 Newsreader,serif;
  color:var(--color-ink-strong)
}

#memory-answer .answer-layout{grid-template-columns:minmax(420px,.84fr) minmax(560px,1.16fr);grid-template-rows:auto auto auto auto auto;gap:10px 3vw}
#memory-answer .answer-layout>header{grid-row:1/6}
#memory-answer .answer-layout>header h2{font-size:clamp(56px,5.45vw,82px);line-height:.88;margin-bottom:18px}
#memory-answer .answer-thesis{max-width:500px;font-size:15px;line-height:1.48}
#memory-answer .answer-conditions button{min-height:138px}
#memory-answer .answer-conditions strong{margin-top:12px}
#memory-answer .answer-method-limit{
  margin:0;
  padding:9px 12px;
  border:1px solid var(--color-line);
  background:var(--color-surface-raised);
  font-size:11px;
  line-height:1.4;
  color:var(--color-ink-muted)
}
#memory-answer .answer-method-limit span{
  margin-right:8px;
  font:650 10px "IBM Plex Mono",monospace;
  letter-spacing:.07em;
  color:var(--color-copper-deep)
}
#memory-answer .final-statement{padding:11px 14px}
#memory-answer .final-statement span{
  display:block;
  margin:0 0 4px;
  font:650 9px "IBM Plex Mono",monospace;
  letter-spacing:.08em;
  color:var(--color-teal-deep)
}
#memory-answer .final-statement strong{display:block;font-size:19px;line-height:1.25}

.memory-slide.is-entering :is(.territorial-acceptability,.regulation-key,.methane-definition,.lng-synthesis,.answer-method-limit){
  animation:memory-reveal 190ms var(--ease) both 35ms
}
#memory-gnl.is-entering .public-pair i{transform-origin:center bottom;animation:memory-bar-rise 185ms var(--ease) both 25ms}
#memory-externalities.is-entering .territory-axis i{animation-duration:185ms;animation-delay:25ms}
#memory-transition.is-entering .scenario-bars i{animation-duration:185ms;animation-delay:25ms}
@keyframes memory-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes memory-bar-rise{from{transform:scaleY(0);opacity:.45}to{transform:scaleY(1);opacity:1}}

@media(max-height:820px) and (min-width:900px){
  #memory-externalities .externalities-layout{gap:9px 3vw}
  #memory-externalities .territory-balance section,#memory-externalities .nox-proof{min-height:200px}
  #memory-externalities .territorial-acceptability{padding-block:8px}
  #memory-transition .transition-layout{gap:7px 3vw}
  #memory-transition .transition-levers .lever{min-height:48px;padding-block:7px}
  #memory-transition .regulation-key>div{padding-block:5px}
  #memory-transition .transition-reading>div{padding:8px 10px}
  #memory-transition .cenaq-case{padding:8px 11px;gap:7px 18px}
  #memory-transition .cenaq-notes .cenaq-limit{padding-block:5px}
  #memory-gnl .lng-layout>header h2{font-size:39px}
  #memory-gnl .lng-contrast button{padding:8px 11px}
  #memory-gnl .lng-contrast strong{font-size:20px}
  #memory-gnl .methane-definition{padding:8px 10px}
  #memory-gnl .lng-synthesis{padding-block:7px;font-size:15px}
  #memory-answer .answer-layout>header h2{font-size:68px}
  #memory-answer .answer-conditions button{min-height:126px;padding:10px}
  #memory-answer .answer-thesis{font-size:14px}
  #memory-answer .answer-method-limit{padding-block:7px}
}

@media(max-width:899px){
  .mission-register-layout{grid-template-columns:1fr}
  .model-proof-layout{grid-template-columns:minmax(0,1fr)}
  .model-proof-layout>*{min-width:0}
  .model-quality{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coefficient-item{grid-template-columns:minmax(0,1fr) 76px minmax(64px,.8fr);gap:8px}
  #memory-externalities .territorial-acceptability{grid-template-columns:1fr;gap:6px}
  #memory-transition .regulation-key>div{grid-template-columns:1fr;gap:3px}
  #memory-transition .cenaq-head{grid-row:auto}
  #memory-gnl .lng-layout>header h2{font-size:36px}
  #memory-answer .answer-layout{grid-template-columns:1fr;grid-template-rows:auto}
  #memory-answer .answer-layout>header{grid-row:auto}
  #memory-answer .answer-layout>header h2{font-size:54px}
}

@media(prefers-reduced-motion:reduce){
  .memory-slide.is-entering :is(.territorial-acceptability,.regulation-key,.methane-definition,.lng-synthesis,.answer-method-limit),
  #memory-gnl.is-entering .public-pair i{animation:none}
}
