:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-layer{position:absolute;inset:0;z-index:12;overflow:hidden;background:#fff;opacity:var(--msb-alpha,0);isolation:isolate}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-device{position:absolute;max-width:none!important;object-fit:fill;transform:none!important;opacity:1!important;margin:0;pointer-events:none}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:110px 7% 60px;gap:32px;opacity:var(--msb-copy-alpha,0);transform:translateY(var(--msb-copy-y,18px));color:#132d42;text-shadow:0 1px 10px rgba(255,255,255,.55)}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy>.small-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;max-width:950px;width:100%;margin:0;text-align:center}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy h3{font-size:clamp(25px,3vw,40px);line-height:1.45;margin-bottom:14px}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy p{font-size:16px;line-height:1.85}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy>.data-detail{width:min(100%,760px);margin:0;text-align:center;border-color:rgba(19,45,66,.28);background:transparent}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy>.data-detail summary{font-size:16px;line-height:1.7;text-align:center;color:#132d42}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy>.data-detail[open]{max-height:35svh;overflow-y:auto;background:rgba(255,255,255,.68);border-radius:10px;padding:12px 18px}
@media(max-width:600px){:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy{padding:110px 26px 50px;gap:28px}:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy>.small-copy{grid-template-columns:1fr;gap:26px}:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy h3{font-size:27px;margin-bottom:10px}:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy p,:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy>.data-detail summary{font-size:14px}}
:is(#supply_demand.middle-silver-bridge,.msb-portal).msb-static .msb-layer{position:relative;inset:auto;opacity:1;overflow:visible}
:is(#supply_demand.middle-silver-bridge,.msb-portal).msb-static .msb-device{display:none}
:is(#supply_demand.middle-silver-bridge,.msb-portal).msb-static .msb-copy{position:relative;inset:auto;opacity:1;transform:none;padding:50px 24px}
:is(#supply_demand.middle-silver-bridge,.msb-portal).msb-static .msb-copy>.data-detail{max-height:none;overflow:visible}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-grid-heading{position:absolute;z-index:2;top:calc(90px + env(safe-area-inset-top));left:24px;right:24px;max-width:950px;margin:0 auto;text-align:center}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-grid-heading h2{font-size:clamp(30px,3.9vw,52px);line-height:1.4}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-grid-heading .lead{font-size:17px;margin-top:17px}
#physical_flow.msb-grid-continuation .gs-heads{height:calc(72px + 148px*var(--msb-grid-headroom,0));min-height:0}
@media(max-width:600px){:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-grid-heading{top:100px}:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-grid-heading h2{font-size:28px}:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-grid-heading .lead{font-size:12px}#physical_flow.msb-grid-continuation .gs-heads{height:calc(60px + 73px*var(--msb-grid-headroom,0))}}
:is(#supply_demand.middle-silver-bridge,.msb-portal).msb-static .msb-grid-heading{position:relative;inset:auto;padding:30px 24px;opacity:1!important;transform:none!important}
/* Full viewport silver, without changing the established chart plane width. */
:is(#supply_demand.middle-silver-bridge,.msb-portal):not(.msb-static) .msb-layer{left:calc(50% - 50vw);right:auto;width:100vw;height:100svh;bottom:auto}

/* A short body-level portal avoids transformed/sticky ancestors changing fixed coordinates. */
.msb-portal{position:fixed;inset:0;z-index:30;pointer-events:none;isolation:isolate}
.msb-portal[hidden]{display:none!important}
#supply_demand.middle-silver-bridge:not(.msb-static)>.scene-inner{padding-bottom:0!important}
#supply_demand.middle-silver-bridge .unified-after-pin[hidden]{display:none!important;margin:0!important;padding:0!important}
#physical_flow.msb-overlap-grid:not(.msb-overlap-static){margin-top:calc(-1 * var(--msb-overlap,100svh));position:relative;z-index:2}
#physical_flow.msb-overlap-grid.msb-overlap-static{margin-top:0}
/* Clip must not create a scroll container: hidden can retain a focus-induced scrollTop. */
:is(#supply_demand.middle-silver-bridge,.msb-portal):not(.msb-static) .msb-layer{overflow:clip}

/* Previous stage must not bleed its progress/diagram through the overlapping grid. */
#supply_demand.middle-silver-bridge.msb-past-stage>.scene-inner>.layer-scroll>.layer-stage{opacity:0!important}

/* Introduce WHERE only after the silver bridge heading has retired; never duplicate equipment. */
#physical_flow.msb-grid-continuation:not(.msb-overlap-static) .gs-stage{opacity:var(--msb-grid-alpha,0)}

:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy .msb-clause{display:inline-block;white-space:nowrap}
@media(max-width:600px){:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy .msb-clause{display:block;white-space:nowrap}}

/* v60: quiet transition hierarchy, unchanged full-silver picture trajectory. */
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-grid-heading h2{font-size:clamp(28px,3.4vw,46px);line-height:1.5;letter-spacing:.025em}
@media(max-width:600px){:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-grid-heading h2{font-size:26px;line-height:1.5}}
/* v82: align each explanatory block by its visual middle when one heading wraps. */
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy>.small-copy{align-items:center}
:is(#supply_demand.middle-silver-bridge,.msb-portal) .msb-copy>.small-copy>div{min-width:0;text-align:center}
