
/* =========================================================
   P30–P37 · EXACT BACKGROUND MATCH TO P26
   Background source, viewport coverage, floating glows and
   particle behavior all come from the same m02-viewport-fx
   system used by #page26Reflection.
   ========================================================= */

/* Use P26's browser-wide viewport layer, not per-slide backgrounds. */
#page30Mission03Reality,
#page31Mission03DigitalChina,
#page32Mission03ImpactMap,
#page33Mission03LanguageKit,
#page34Mission03StoryFrame,
#page35Mission03LocalLens,
#page36Mission03WorldVoice,
#page37Mission03Report{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:transparent!important;
}

/* Remove Mission 03's independent background layers so there is only
   one visual source: exactly the same viewport-wide layer as P26. */
#page30Mission03Reality::before,
#page31Mission03DigitalChina::before,
#page32Mission03ImpactMap::before,
#page33Mission03LanguageKit::before,
#page34Mission03StoryFrame::before,
#page35Mission03LocalLens::before,
#page36Mission03WorldVoice::before,
#page37Mission03Report::before{
  content:none!important;
  display:none!important;
}

/* Copy P26's page-level atmospheric overlay exactly. */
#page30Mission03Reality::after,
#page31Mission03DigitalChina::after,
#page32Mission03ImpactMap::after,
#page33Mission03LanguageKit::after,
#page34Mission03StoryFrame::after,
#page35Mission03LocalLens::after,
#page36Mission03WorldVoice::after,
#page37Mission03Report::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  display:block!important;
  background:
    radial-gradient(circle at 73% 40%,rgba(151,77,255,.12),transparent 34%),
    linear-gradient(135deg,rgba(20,12,58,.40),rgba(65,25,100,.18) 48%,rgba(5,28,65,.20))!important;
}

/* Turn off all page-specific Mission 03 floating particles / glows.
   P26's m02-viewport-fx supplies the two large floating glow fields
   and 58 rising particles across the entire browser viewport. */
#page30Mission03Reality .p30-bg-nodes,
#page31Mission03DigitalChina .p31-float-layer,
#page32Mission03ImpactMap .p32-float-layer,
#page33Mission03LanguageKit .p33-orbs,
#page34Mission03StoryFrame .p34-bg-fx,
#page35Mission03LocalLens .p35-bg-fx,
#page36Mission03WorldVoice .p36-fx,
#page37Mission03Report .p37-fx{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  animation:none!important;
}

/* Ensure slide content remains above the copied P26 overlay,
   exactly as P26's .p26-stage is z-index:2. */
#page30Mission03Reality > *:not(.p30-bg-nodes),
#page31Mission03DigitalChina > *:not(.p31-float-layer),
#page32Mission03ImpactMap > *:not(.p32-float-layer),
#page33Mission03LanguageKit > *:not(.p33-orbs),
#page34Mission03StoryFrame > *:not(.p34-bg-fx),
#page35Mission03LocalLens > *:not(.p35-bg-fx),
#page36Mission03WorldVoice > *:not(.p36-fx),
#page37Mission03Report > *:not(.p37-fx){
  position:relative!important;
  z-index:2!important;
}

/* Same viewport base used by P26; prevents side bars outside
   the scaled 1600×900 Reveal canvas. */
.reveal-viewport:has(#page30Mission03Reality.present),
.reveal-viewport:has(#page31Mission03DigitalChina.present),
.reveal-viewport:has(#page32Mission03ImpactMap.present),
.reveal-viewport:has(#page33Mission03LanguageKit.present),
.reveal-viewport:has(#page34Mission03StoryFrame.present),
.reveal-viewport:has(#page35Mission03LocalLens.present),
.reveal-viewport:has(#page36Mission03WorldVoice.present),
.reveal-viewport:has(#page37Mission03Report.present){
  background:#030c20!important;
}
