/* Three former scenes share one diagram and one viewport. */
#physical_flow.gs-integrated>.scene-inner{max-width:1180px;padding-top:0!important;padding-bottom:40px!important}
#physical_flow .gs-scroll{height:calc(100svh + 2700px);min-height:3400px;position:relative}
#physical_flow .gs-stage{display:block;height:100svh;min-height:750px;padding:28px 0 25px;overflow:visible}
#physical_flow .gs-heads{position:relative;height:160px;min-height:160px;margin:0 auto 12px}
#physical_flow .gs-heading{position:absolute;inset:0;max-width:950px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto!important;opacity:var(--gs-heading-opacity,0)!important;transform:translateY(var(--gs-heading-y,18px))!important}
#physical_flow .gs-heading h2{font-size:clamp(30px,3.9vw,52px)}#physical_flow .gs-heading .lead{margin-top:17px;font-size:17px}
#physical_flow .gs-stage>.diagram{max-height:none;margin:0 auto!important;max-width:970px}
#physical_flow .ad-flow-row:not(.ad-roles){max-width:780px;margin:auto;min-height:70px}
#physical_flow .ad-flow-row:not(.ad-roles) .ad-icon{width:36px!important;height:36px!important;margin-bottom:7px}
#physical_flow .ad-flow-row:not(.ad-roles) .ad-node strong{font-size:16px}#physical_flow .ad-flow-row:not(.ad-roles) .ad-node small{font-size:11px}
#physical_flow .physical-legend{font-size:11px;margin:6px 0;opacity:var(--gs-top,0)}
#physical_flow .ad-vertical{height:26px!important;margin:0 auto;max-width:220px}
#physical_flow .ad-vertical span{font-size:11px}
#physical_flow .gs-energy{height:42px!important;max-height:42px;width:110px;margin:0 auto!important;opacity:var(--gs-energy,0)}#physical_flow .gs-energy svg{height:42px!important;width:100%}
#physical_flow .gs-phase-copy{display:flex;gap:15px;justify-content:center;margin:2px auto 4px!important;opacity:var(--gs-energy,0)}#physical_flow .gs-phase-copy p{font-size:11px;line-height:1.5}
#physical_flow .ad-flow>.ad-battery{height:calc(155px - var(--gs-contract,0)*67px);max-height:none!important;max-width:70%;width:auto;margin:0 auto!important;object-fit:contain}
#physical_flow .ad-caption{font-size:11px;opacity:var(--gs-battery,0)}
#physical_flow .gs-explanation{max-width:850px;font-size:12px;line-height:1.7;margin:8px auto 0;opacity:var(--gs-battery,0)}
#physical_flow .gs-contract{max-height:calc(var(--gs-contract,0)*250px);overflow:hidden;opacity:var(--gs-contract,0);max-width:950px;margin:auto}
#physical_flow .ad-role-divider{font-size:12px;padding:12px 0 10px!important;margin:0;line-height:1.5}
#physical_flow .ad-roles{display:flex;gap:18px;align-items:flex-start;justify-content:center;margin:0 auto;max-width:900px}
#physical_flow .ad-roles>.ad-node{flex:1;min-width:0;max-width:250px}
#physical_flow .ad-roles>.ad-node>.ad-icon{width:29px!important;height:29px!important;margin-bottom:5px}
#physical_flow .ad-roles>.ad-node>strong{display:none}
#physical_flow .ad-roles>.ad-link{margin-top:22px;flex:0 0 45px;min-width:20px}
#physical_flow .gs-role-description{font-size:12px!important;line-height:1.65!important;text-align:center;margin:0!important}
#physical_flow .gs-role-description strong{display:inline!important;font-size:16px!important;line-height:1.5}
#physical_flow .ad-settlement-line{height:10px!important;margin-top:9px!important}
#physical_flow .ad-key{font-size:10px;margin-top:7px;gap:8px;flex-wrap:wrap}
#physical_flow .gs-alias{position:absolute;top:calc(var(--gs-alias)*100%);left:0;width:1px;height:1px;min-height:0!important;pointer-events:none;opacity:0}
@media(max-width:900px){#physical_flow .gs-heads{height:145px;min-height:145px}#physical_flow .gs-heading .lead{font-size:15px}#physical_flow .ad-roles{gap:10px}#physical_flow .ad-roles>.ad-link{flex-basis:25px}}
@media(max-width:600px){#physical_flow.gs-integrated>.scene-inner{padding-left:20px;padding-right:20px}#physical_flow .gs-scroll{height:calc(100svh + 1980px);min-height:2680px}#physical_flow .gs-stage{height:100svh;min-height:730px;padding:24px 0 20px}#physical_flow .gs-heads{height:133px;min-height:133px;margin-bottom:10px}#physical_flow .gs-heading h2{font-size:28px}#physical_flow .gs-heading .lead{font-size:12px;margin-top:12px;line-height:1.65}#physical_flow .ad-flow-row:not(.ad-roles){gap:8px;min-height:64px}#physical_flow .ad-flow-row:not(.ad-roles) .ad-icon{width:29px!important;height:29px!important}#physical_flow .ad-flow-row:not(.ad-roles) .ad-node strong{font-size:13px}#physical_flow .ad-flow-row:not(.ad-roles) .ad-node small{font-size:9px}#physical_flow .ad-flow-row:not(.ad-roles) .ad-link{min-width:10px}#physical_flow .physical-legend{font-size:9px}#physical_flow .ad-flow>.ad-battery{height:calc(140px - var(--gs-contract,0)*57px)}#physical_flow .gs-phase-copy{gap:7px}#physical_flow .gs-phase-copy p{font-size:9px;max-width:100px}#physical_flow .gs-explanation{font-size:10px;line-height:1.65;margin-top:7px}#physical_flow .gs-contract{max-height:calc(var(--gs-contract,0)*260px)}#physical_flow .ad-role-divider{font-size:11px;padding:10px 0 8px!important}#physical_flow .ad-roles{gap:4px}#physical_flow .ad-roles>.ad-link{flex-basis:12px;min-width:9px}#physical_flow .ad-roles>.ad-node>.ad-icon{height:25px!important;width:25px!important}#physical_flow .gs-role-description{font-size:10px!important;line-height:1.6!important}#physical_flow .gs-role-description strong{font-size:13px!important}#physical_flow .ad-key{font-size:9px;gap:5px;margin-top:6px}}
#physical_flow.gs-reduced .gs-scroll{height:auto!important;min-height:0!important}#physical_flow.gs-reduced .gs-stage{position:relative;height:auto!important;min-height:0!important;padding:65px 0}#physical_flow.gs-reduced .gs-heads{height:auto!important;min-height:0!important}#physical_flow.gs-reduced .gs-heading{position:relative;inset:auto;opacity:1!important;transform:none!important;margin:25px auto!important}#physical_flow.gs-reduced .gs-contract{max-height:none!important;overflow:visible;opacity:1!important}#physical_flow.gs-reduced .gs-alias{top:0}

/* Entry thought rises into its fixed heading position before the diagram enters. */
#physical_flow .gs-heads{transform:translateY(calc((1 - var(--gs-title-rise,0))*22svh))}
/* Charging, stored energy and discharging share the same energy color as the preceding pin. */
#physical_flow.gs-integrated .ad-charge,#physical_flow.gs-integrated .ad-discharge{visibility:visible;color:#648da1}
#physical_flow.gs-integrated .ad-charge-path,#physical_flow.gs-integrated .ad-discharge-path{stroke:#648da1}
#physical_flow.gs-integrated .ad-charge-level{fill:#648da1}
#physical_flow.gs-reduced .gs-heads{transform:none!important}
#physical_flow.gs-integrated .ad-charge,#physical_flow.gs-integrated .ad-discharge{opacity:var(--ld-opacity,1)!important}

/* Exact original phase sentences now overlay the shared battery, one at a time. */
#physical_flow .gs-battery-stage{position:relative;height:calc(155px - var(--gs-contract,0)*67px);opacity:var(--gs-battery,0);width:100%;margin:0 auto}
#physical_flow .gs-battery-stage>.ad-battery{height:100%;max-height:none!important;max-width:80%;width:auto;object-fit:contain;margin:0 auto!important}
#physical_flow .gs-battery-stage .gs-phase-copy{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:min(330px,90%);height:48px;display:block!important;margin:0!important;opacity:1!important;z-index:2;pointer-events:none}
#physical_flow .gs-battery-stage .gs-phase-copy p{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;max-width:none!important;font-size:16px;line-height:1.6;text-align:center;background:rgb(255 255 255 / .90);border-radius:8px;padding:7px 11px;color:var(--navy);will-change:opacity,transform}
@media(max-width:600px){#physical_flow .gs-battery-stage{height:calc(140px - var(--gs-contract,0)*57px)}#physical_flow .gs-battery-stage .gs-phase-copy{top:8px;height:43px;width:min(285px,92%)}#physical_flow .gs-battery-stage .gs-phase-copy p{font-size:13px;padding:6px 9px}}
#physical_flow.gs-reduced .gs-battery-stage{height:auto!important}#physical_flow.gs-reduced .gs-battery-stage>.ad-battery{height:130px}#physical_flow.gs-reduced .gs-battery-stage .gs-phase-copy{position:relative;left:auto;top:auto;transform:none;width:100%;height:auto;display:flex!important;flex-wrap:wrap;gap:8px;margin:15px auto!important}#physical_flow.gs-reduced .gs-battery-stage .gs-phase-copy p{position:relative;inset:auto;opacity:1!important;transform:none!important;background:transparent}

/* Desktop final heading includes two lead lines: reserve their real height. */
@media(min-width:901px){#physical_flow .gs-heads{height:220px;min-height:220px}}

/* v27: orange charging/stored energy; blue release, same phase timing. */
#physical_flow.gs-integrated .ad-charge{color:#c77b21}
#physical_flow.gs-integrated .ad-discharge{color:#648da1}
#physical_flow.gs-integrated .ad-charge-path{stroke:#c77b21}
#physical_flow.gs-integrated .ad-discharge-path{stroke:#648da1}
#physical_flow.gs-integrated .ad-charge-level{fill:var(--energy-phase-color,#c77b21)}
#physical_flow.gs-integrated .ad-charge-shell{stroke:var(--energy-phase-color,#c77b21)}
/* No white panel: only a local, feathered text halo, centered on the equipment. */
#physical_flow .gs-battery-stage .gs-phase-copy{transform:translate(-50%,-50%)}
#physical_flow .gs-battery-stage .gs-phase-copy p{background:none;border-radius:0;text-shadow:0 0 5px #fff,0 0 12px #fff;isolation:isolate}
#physical_flow .gs-battery-stage .gs-phase-copy p:before{content:'';position:absolute;inset:12% 10%;z-index:-1;background:radial-gradient(ellipse,rgba(255,255,255,.8),rgba(255,255,255,.35) 48%,transparent 74%);filter:blur(7px);pointer-events:none}
#physical_flow.gs-reduced .gs-battery-stage .gs-phase-copy{transform:none}
#physical_flow.gs-reduced .gs-battery-stage .gs-phase-copy p:before{display:none}
#physical_flow.gs-integrated .ad-flow-row:not(.ad-roles) .ad-link:before{background:var(--energy-phase-color,#c77b21)}
#physical_flow.gs-integrated .ad-flow-row:not(.ad-roles) .ad-link:after{border-left-color:var(--energy-phase-color,#c77b21)}

#physical_flow.gs-reduced .gs-phase-progress{display:none}

#physical_flow .gs-role-description .gs-phrase{display:inline-block;white-space:nowrap}
/* Current voice request: easier-to-read phase words, same center/timing and soft local glow. */
#physical_flow .gs-battery-stage .gs-phase-copy p{font-size:20px;font-weight:600}
@media(max-width:600px){#physical_flow .gs-battery-stage .gs-phase-copy p{font-size:16px}}

/* v31: actual icon anchors, with shaft and head in one responsive SVG. */
#physical_flow .ad-roles{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,3.5vw,56px);align-items:start;width:100%;max-width:900px}
#physical_flow .ad-roles>.ad-node{width:100%;max-width:none;min-width:0}
#physical_flow .ad-roles>.gs-retired-link{display:none!important}
#physical_flow .ad-roles>.gs-role-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:#a5773c}
#physical_flow .gs-control-shaft{fill:none;stroke:currentColor;stroke-width:1.5;stroke-dasharray:4 4;stroke-linecap:round}
#physical_flow .gs-control-head{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#physical_flow .ad-settlement-line{width:100%;height:14px!important;border:0!important;background:none;position:relative}
#physical_flow .ad-settlement-line:after{display:none!important}
#physical_flow .gs-settlement-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
#physical_flow .gs-settlement-path,#physical_flow .gs-settlement-head{fill:none;stroke:#c77b21;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}

/* v31 WHY → WHERE: no second charge/hold/release demonstration. */
#physical_flow.gs-where-bridge .gs-scroll{height:calc(100svh + 1800px);min-height:0}
#physical_flow.gs-where-bridge .gs-energy{display:none!important}
#physical_flow.gs-where-bridge .gs-battery-stage{will-change:transform}
#physical_flow.gs-where-bridge .gs-energy-reference{position:relative;z-index:3;max-width:620px;margin:10px auto 0;color:#647785;font-size:12px;line-height:1.65;opacity:var(--gs-reference,0)}
#physical_flow.gs-where-bridge .gs-energy-reference summary{text-align:center;cursor:pointer;list-style-position:inside;text-underline-offset:4px}
#physical_flow.gs-where-bridge .gs-energy-reference[open]{background:rgba(255,255,255,.98);border:1px solid #e3e9ed;border-radius:12px;padding:10px 14px;box-shadow:0 8px 24px rgba(17,44,69,.06)}
#physical_flow.gs-where-bridge .gs-reference-body{padding-top:12px}
#physical_flow.gs-where-bridge .gs-reference-body .gs-heading{position:relative;inset:auto;display:block;text-align:center;max-width:none;transform:none!important;opacity:1!important}
#physical_flow.gs-where-bridge .gs-reference-body .gs-heading h2{font-size:16px;line-height:1.6}
#physical_flow.gs-where-bridge .gs-reference-body .gs-heading .lead{font-size:12px;line-height:1.7;margin-top:6px}
#physical_flow.gs-where-bridge .gs-reference-body .gs-phase-copy{position:static;display:flex!important;flex-wrap:wrap;justify-content:center;gap:6px 14px;transform:none!important;width:auto;height:auto;margin-top:10px!important;opacity:1!important}
#physical_flow.gs-where-bridge .gs-reference-body .gs-phase-copy p{position:static;inset:auto;font-size:12px;line-height:1.7;max-width:none!important;opacity:1!important;transform:none!important;text-shadow:none;background:none;padding:0}
#physical_flow.gs-where-bridge .gs-reference-body .gs-phase-copy p:before{display:none}
@media(max-width:600px){#physical_flow.gs-where-bridge .gs-scroll{height:calc(100svh + 1320px)}#physical_flow.gs-where-bridge .gs-energy-reference{font-size:11px}}
#physical_flow.gs-where-bridge.gs-reduced .gs-scroll{height:auto!important}
#physical_flow.gs-where-bridge .ad-caption,#physical_flow.gs-where-bridge .gs-explanation{opacity:var(--gs-top,0)}
#physical_flow.gs-where-bridge .gs-battery-stage{transform-origin:50% 50%}

/* Owner-approved removal only in the grid → market story. */
#physical_flow .gs-phase-progress{display:none!important}
/* Owner-requested generator→grid connector only; downstream/discharge colors stay unchanged. */
#physical_flow.gs-integrated .ad-flow-row:not(.ad-roles)>.ad-link:nth-child(2){background:#c77b21}
#physical_flow.gs-integrated .ad-flow-row:not(.ad-roles)>.ad-link:nth-child(2):before{background:#c77b21}
#physical_flow.gs-integrated .ad-flow-row:not(.ad-roles)>.ad-link:nth-child(2):after{border-left-color:#c77b21}

/* v49: electrical energy is a solid, scroll-drawn layer; control remains dashed. */
#physical_flow.gs-energy-restored .ad-physical_flow{position:relative}
#physical_flow.gs-energy-restored .gs-power-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
#physical_flow.gs-energy-restored .gs-power-path,#physical_flow.gs-energy-restored .gs-power-head{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#physical_flow.gs-energy-restored .gs-power-path{stroke-dasharray:1;stroke-dashoffset:1}
#physical_flow.gs-energy-restored .gs-power-generation,#physical_flow.gs-energy-restored .gs-power-charge{stroke:#c77b21}
#physical_flow.gs-energy-restored .gs-power-release,#physical_flow.gs-energy-restored .gs-power-destination{stroke:#648da1}
#physical_flow.gs-energy-restored .gs-storage-shell{fill:#f0f3f5;stroke:#8094a2;stroke-width:1}
#physical_flow.gs-energy-restored .gs-storage-level{fill:#c77b21}
#physical_flow.gs-energy-restored .ad-flow-row:not(.ad-roles)>.ad-link{visibility:hidden}
#physical_flow.gs-energy-restored .ad-vertical{visibility:hidden}
#physical_flow.gs-energy-restored .gs-battery-stage .gs-phase-copy{top:53%;z-index:3}
#physical_flow.gs-energy-restored .gs-battery-stage .gs-phase-copy p{font-size:18px;line-height:1.6}
#physical_flow.gs-energy-restored.gs-reduced .ad-vertical{visibility:visible}
#physical_flow.gs-energy-restored.gs-reduced .gs-phase-copy{top:auto}
@media(max-width:600px){#physical_flow.gs-energy-restored .gs-power-path,#physical_flow.gs-energy-restored .gs-power-head{stroke-width:2.5}#physical_flow.gs-energy-restored .gs-battery-stage .gs-phase-copy p{font-size:14px}}
#physical_flow.gs-energy-restored .gs-power-svg{max-height:none!important}

/* v49 local reading distance only. Portal handoff raw .18–.32 is unchanged.
   Power story .40–.76; roles finish .86 then hold to the pin exit. */
#physical_flow.gs-where-bridge.gs-energy-restored .gs-scroll{height:calc(100svh + 3200px);min-height:0}
@media(max-width:600px){#physical_flow.gs-where-bridge.gs-energy-restored .gs-scroll{height:calc(100svh + 2700px)}}
#physical_flow.gs-where-bridge.gs-energy-restored.gs-reduced .gs-scroll{height:auto!important}

/* v50 QA: stable energy heading plane after .42; original compact silver entry through .32.
   Keep the icon row below all heading / lead lines at every energy phase. */
#physical_flow.gs-integrated.gs-energy-restored.msb-grid-continuation .gs-heads{height:var(--gs-safe-head-height,210px);min-height:var(--gs-safe-head-height,210px);margin-bottom:16px;transform:none}
#physical_flow.gs-integrated.gs-energy-restored .gs-heading{padding:0 12px;box-sizing:border-box;justify-content:center}
#physical_flow.gs-integrated.gs-energy-restored .gs-heading h2{line-height:1.32;margin:0}
#physical_flow.gs-integrated.gs-energy-restored .gs-heading .lead{line-height:1.6;margin-top:15px}
#physical_flow.gs-integrated.gs-energy-restored .ad-vertical{height:var(--gs-safe-wire-height,40px)!important}
#physical_flow.gs-integrated.gs-energy-restored .gs-battery-stage .gs-phase-copy p{padding:7px 9px;text-shadow:0 1px 3px #fff,0 0 10px #fff,0 0 17px rgba(255,255,255,.85)}
@media(max-width:600px){#physical_flow.gs-integrated.gs-energy-restored.msb-grid-continuation .gs-heads{height:var(--gs-safe-head-height,180px);min-height:var(--gs-safe-head-height,180px);margin-bottom:16px}#physical_flow.gs-integrated.gs-energy-restored .gs-heading{padding:0 4px}#physical_flow.gs-integrated.gs-energy-restored .gs-heading h2{font-size:28px;line-height:1.35}#physical_flow.gs-integrated.gs-energy-restored .gs-heading .lead{font-size:12px;line-height:1.65;margin-top:12px}#physical_flow.gs-integrated.gs-energy-restored .ad-vertical{height:var(--gs-safe-wire-height,38px)!important}}
#physical_flow.gs-integrated.gs-energy-restored.gs-reduced .gs-heads{height:auto!important;min-height:0!important}

/* v53: electricity, not the administrative relationship, is the main story. */
#physical_flow.gs-electric-only .gs-contract{display:none!important}
#physical_flow.gs-electric-only .gs-stage>.diagram{max-width:1040px}
#physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles){max-width:850px;min-height:102px;align-items:flex-start}
#physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles) .ad-icon{width:48px!important;height:48px!important;margin-bottom:12px}
#physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles) .ad-node strong{font-size:20px;line-height:1.5}
#physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles) .ad-node small{font-size:13px;line-height:1.5}
#physical_flow.gs-electric-only .physical-legend{font-size:12px;margin:10px 0 8px}
#physical_flow.gs-electric-only .gs-battery-stage{height:220px}
#physical_flow.gs-electric-only .ad-caption{font-size:13px;line-height:1.6}
#physical_flow.gs-electric-only .gs-explanation{font-size:14px;line-height:1.7;max-width:800px;margin-top:12px}
#physical_flow.gs-electric-only .gs-normal-guide{fill:none;stroke:#d2dce3;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}
#physical_flow.gs-electric-only .gs-power-path,#physical_flow.gs-electric-only .gs-power-head{stroke-width:3.2}
#physical_flow.gs-electric-only .gs-battery-stage .gs-phase-copy{width:min(400px,95%);top:52%}
#physical_flow.gs-electric-only .gs-battery-stage .gs-phase-copy p{font-size:23px;font-weight:600;line-height:1.6}
@media(max-width:600px){
 #physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles){min-height:86px;gap:9px}
 #physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles) .ad-icon{width:38px!important;height:38px!important;margin-bottom:10px}
 #physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles) .ad-node strong{font-size:15px}
 #physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles) .ad-node small{font-size:10px}
 #physical_flow.gs-electric-only .physical-legend{font-size:10px;margin:8px 0}
 #physical_flow.gs-electric-only .gs-battery-stage{height:185px}
 #physical_flow.gs-electric-only .gs-battery-stage .gs-phase-copy p{font-size:18px}
 #physical_flow.gs-electric-only .gs-explanation{font-size:12px;line-height:1.7;margin-top:10px}
 #physical_flow.gs-electric-only .ad-caption{font-size:11px}
 #physical_flow.gs-electric-only .gs-power-path,#physical_flow.gs-electric-only .gs-power-head{stroke-width:2.8}
}
#physical_flow.gs-electric-only.gs-reduced .gs-battery-stage{height:auto!important}

#physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles) .ad-node[data-power-active="true"]>.ad-icon{color:#c77b21;filter:drop-shadow(0 3px 9px rgba(199,123,33,.16))}
#physical_flow.gs-electric-only .ad-flow-row:not(.ad-roles) .ad-node[data-power-active="true"][data-power-direction="release"]>.ad-icon{color:#648da1;filter:drop-shadow(0 3px 9px rgba(100,141,161,.18))}

/* v54 image-led scene. A single source sentence becomes the hero; the machine is no longer a thumbnail. */
#physical_flow.gs-image-led .gs-hero-phase{position:absolute;inset:0;width:100%;height:100%;display:block!important;margin:0!important;opacity:1!important;transform:none!important}
#physical_flow.gs-image-led .gs-hero-phase>p{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;max-width:none!important;margin:0!important;padding:0 16px;font-size:clamp(38px,4.4vw,60px);font-weight:650;letter-spacing:-.035em;line-height:1.4;color:#132d42;text-align:center;text-wrap:balance;will-change:opacity,transform}
#physical_flow.gs-image-led .ad-flow-row:not(.ad-roles){max-width:690px;min-height:78px;gap:24px}
#physical_flow.gs-image-led .ad-flow-row:not(.ad-roles) .ad-icon{width:32px!important;height:32px!important;margin-bottom:7px}
#physical_flow.gs-image-led .ad-flow-row:not(.ad-roles) .ad-node strong{font-size:17px;line-height:1.4}
#physical_flow.gs-image-led .ad-flow-row:not(.ad-roles) .ad-node small{font-size:11px;line-height:1.4}
#physical_flow.gs-image-led .physical-legend{font-size:11px;margin:6px 0}
#physical_flow.gs-image-led .gs-battery-stage{height:350px;max-width:680px}
#physical_flow.gs-image-led .gs-battery-stage>.ad-battery{position:absolute;left:50%;top:0;width:650px;height:100%;max-width:none!important;object-fit:contain;transform:translateX(-50%)!important}
#physical_flow.gs-image-led .gs-storage-shell{stroke-width:1.4}
#physical_flow.gs-image-led .gs-power-path,#physical_flow.gs-image-led .gs-power-head{stroke-width:3.2}
.operation-subblock>.gs-relocated-explanation{font-size:14px;line-height:1.8;max-width:760px;margin:25px auto;text-align:center;color:#627786}
@media(max-width:600px){
 #physical_flow.gs-image-led .gs-hero-phase>p{font-size:34px;line-height:1.45;padding:0 5px}
 #physical_flow.gs-image-led .ad-flow-row:not(.ad-roles){min-height:72px;gap:10px;max-width:340px}
 #physical_flow.gs-image-led .ad-flow-row:not(.ad-roles) .ad-icon{width:28px!important;height:28px!important;margin-bottom:7px}
 #physical_flow.gs-image-led .ad-flow-row:not(.ad-roles) .ad-node strong{font-size:14px}
 #physical_flow.gs-image-led .ad-flow-row:not(.ad-roles) .ad-node small{font-size:10px}
 #physical_flow.gs-image-led .physical-legend{font-size:10px;margin:5px 0}
 #physical_flow.gs-image-led .gs-battery-stage{height:330px;width:100%;max-width:none}
 #physical_flow.gs-image-led .gs-battery-stage>.ad-battery{width:560px}
 #physical_flow.gs-image-led .gs-power-path,#physical_flow.gs-image-led .gs-power-head{stroke-width:3}
}
#physical_flow.gs-image-led.gs-reduced .gs-hero-phase{position:relative;inset:auto;display:grid!important;height:auto;gap:20px}
#physical_flow.gs-image-led.gs-reduced .gs-hero-phase>p{position:relative;inset:auto;opacity:1!important;transform:none!important}
#physical_flow.gs-image-led.gs-reduced .gs-battery-stage{height:330px!important}
/* Crop only the source image's white lateral margins; do not widen the document. */
#physical_flow.gs-image-led .gs-battery-stage{overflow:clip}

/* v55: preserve complete Japanese meaning units, never stranded particles. */
#physical_flow.gs-image-led .gs-hero-phase>p{flex-wrap:wrap;align-content:center}
#physical_flow.gs-image-led .gs-hero-phase .gs-phase-line{display:inline-block;white-space:nowrap}
@media(max-width:600px){#physical_flow.gs-image-led .gs-hero-phase>p.gs-phase-break{flex-direction:column;flex-wrap:nowrap;align-content:normal;justify-content:center;align-items:center}}

/* v59: size against the real usable viewport, never a taller forced stage. */
#physical_flow.gs-image-led.gs-integrated .gs-stage{height:100svh;min-height:0!important;padding-bottom:36px;box-sizing:border-box}
#physical_flow.gs-image-led .ael-diagram{margin:0 auto!important}
#physical_flow.gs-image-led.gs-integrated .gs-battery-stage{height:var(--gs-fit-battery-height,330px)}
#physical_flow.gs-image-led.gs-integrated.msb-grid-continuation .gs-heads{transform:translateY(var(--gs-optical-shift,0px))!important}
#physical_flow.gs-image-led .gs-stage>.diagram{transform:translateY(var(--gs-optical-shift,0px));max-height:none}
#physical_flow.gs-image-led .gs-storage-shell{stroke:#536e80;stroke-width:1.6;fill:#e9eff3}
#physical_flow.gs-image-led .gs-storage-level{filter:drop-shadow(0 1px 2px rgba(19,45,66,.1))}
#physical_flow.gs-image-led.gs-reduced .gs-stage{height:auto!important;min-height:0!important}
#physical_flow.gs-image-led.gs-reduced .gs-heads,#physical_flow.gs-image-led.gs-reduced .gs-stage>.diagram{transform:none!important}
#physical_flow.gs-image-led.gs-reduced .gs-battery-stage{height:330px!important}
