/* UNDEPLOYED #7. A single white fixed viewport from demand through discharge. */
#supply_demand.unified-energy-story>.scene-inner>.layer-scroll{height:calc(100svh + 3900px);min-height:4500px}
#supply_demand.unified-energy-story>.scene-inner>.layer-scroll>.layer-stage{background:#fff;position:sticky;top:0;height:100svh;min-height:720px;isolation:isolate;display:block;padding:0;overflow:visible}
.unified-energy-story .unified-supply-pane{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:48px 0 65px;transition:none}
.unified-energy-story .unified-supply-pane>.layer-headings{transform:translate3d(0,var(--unified-head-y,0px),0);transition:none;z-index:2}
.unified-energy-story .unified-supply-pane>.diagram{opacity:var(--unified-first-graph,0);transform:translateY(calc((1 - var(--unified-first-graph,0))*22px));transition:none}
#supply_demand.unified-energy-story #day_night.unified-day-pane{position:absolute;inset:0;margin:0!important;padding:0!important;width:100%;height:100%;min-height:0;max-width:none;background:#fff;transition:none}
#supply_demand.unified-energy-story #day_night>.scene-inner{margin:0 auto!important;padding:0!important;width:100%;height:100%;max-width:none}
#supply_demand.unified-energy-story #day_night .layer-scroll{height:100%!important;min-height:0!important;margin:0!important;padding:0!important}
#supply_demand.unified-energy-story #day_night .layer-stage{position:relative!important;top:auto!important;height:100%!important;min-height:0!important;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:48px 0 65px;overflow:visible}
#supply_demand.unified-energy-story .layer-progress{display:none}
.unified-energy-story .unified-energy-reference{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);z-index:5;width:min(100%,760px);margin:0;background:rgba(255,255,255,.98);border-top:1px solid #e4e9ed;color:#64707b}
.unified-energy-reference>summary{list-style:none;text-align:center;font-size:12px;cursor:pointer;padding:12px 8px;min-height:44px;line-height:20px}
.unified-energy-reference>summary::-webkit-details-marker{display:none}.unified-energy-reference>summary:after{content:' ＋'}.unified-energy-reference[open]>summary:after{content:' −'}
.unified-energy-reference .unified-reference-body{max-height:48svh;overflow:auto;padding:16px 22px;border-top:1px solid #eef1f3;text-align:left;overscroll-behavior:contain}
.unified-energy-reference .small-copy{margin:0 0 22px}.unified-energy-reference .data-detail{margin:15px auto}
@media(max-width:600px){#supply_demand.unified-energy-story>.scene-inner>.layer-scroll{height:calc(92svh + 3100px);min-height:3700px}#supply_demand.unified-energy-story>.scene-inner>.layer-scroll>.layer-stage{height:92svh;min-height:650px}.unified-energy-story .unified-supply-pane,#supply_demand.unified-energy-story #day_night .layer-stage{padding:28px 0 65px;gap:8px}.unified-energy-story .unified-energy-reference{bottom:9px;width:100%}.unified-energy-reference>summary{font-size:10px;padding:10px 4px}.unified-energy-reference .unified-reference-body{padding:12px 14px;max-height:45svh}}
/* Reduced motion: all original content becomes ordinary readable flow. */
#supply_demand.unified-energy-static>.scene-inner>.layer-scroll,#supply_demand.unified-energy-static #day_night .layer-scroll{height:auto!important;min-height:0!important}
#supply_demand.unified-energy-static>.scene-inner>.layer-scroll>.layer-stage,#supply_demand.unified-energy-static #day_night .layer-stage{position:static!important;height:auto!important;min-height:0!important;padding:35px 0!important;display:block!important}
#supply_demand.unified-energy-static .unified-supply-pane,#supply_demand.unified-energy-static #day_night.unified-day-pane{position:relative!important;inset:auto!important;height:auto!important;padding:0!important;opacity:1!important;display:block!important}
#supply_demand.unified-energy-static .unified-supply-pane>.layer-headings,#supply_demand.unified-energy-static .unified-supply-pane>.diagram{transform:none!important;opacity:1!important}
#supply_demand.unified-energy-static .unified-energy-reference{position:relative;bottom:auto;left:auto;transform:none;margin:30px auto 0}
#supply_demand.unified-energy-static .unified-reference-body{max-height:none;overflow:visible}
/* Same existing heading envelope geometry, isolated from the ancestor selector. */
#supply_demand .unified-day-headings>.layer-heading{position:absolute!important;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:var(--layer-opacity,0)!important;transform:translateY(var(--layer-y,0))!important;margin:0!important}
.unified-supply-captions{display:grid;min-height:76px;width:min(100%,760px);margin:0 auto;text-align:center}
.unified-supply-captions>*{grid-area:1/1;opacity:var(--caption-opacity,0);transform:translateY(var(--caption-y,18px));transition:none;align-self:center}
.unified-supply-captions h3{font-size:14px;line-height:1.5;margin:0 0 5px;color:#112c45}.unified-supply-captions p{font-size:12px;line-height:1.7;margin:0;color:#64707b}
#supply_demand.unified-energy-static .unified-day-headings>.layer-heading{position:relative!important;opacity:1!important;transform:none!important;margin:25px auto!important}.unified-energy-static .unified-supply-captions{display:block;min-height:0}.unified-energy-static .unified-supply-captions>*{opacity:1;transform:none;margin:24px auto}
@media(max-width:600px){.unified-supply-captions{min-height:68px}.unified-supply-captions h3{font-size:12px}.unified-supply-captions p{font-size:11px}}
/* #8: the same blue follows the selected surplus through storage and discharge.
   Orange photovoltaic / navy thermal / gray baseload source colors are unchanged. */
#supply_demand.unified-energy-story{--unified-energy-blue:#bad6e5;--unified-energy-blue-ink:#648da1}
#supply_demand.unified-energy-story .unified-blue-surplus{fill:var(--unified-energy-blue);fill-opacity:.78;stroke:none}
#supply_demand.unified-energy-story .ad-surplus{fill:var(--unified-energy-blue)!important;fill-opacity:.68!important}
#supply_demand.unified-energy-story .ad-discharge-area{fill:var(--unified-energy-blue)!important}
#supply_demand.unified-energy-story .ad-charge-path,#supply_demand.unified-energy-story .ad-discharge-path{stroke:var(--unified-energy-blue-ink)!important}
#supply_demand.unified-energy-story .ad-charge-level{fill:var(--unified-energy-blue)!important}
#supply_demand.unified-energy-story .ad-charge-shell{stroke:var(--unified-energy-blue-ink)!important}
#supply_demand.unified-energy-story .ad-energy-stages,#supply_demand.unified-energy-story .ad-energy-copy span{color:var(--unified-energy-blue-ink)!important}
#supply_demand.unified-energy-story .unified-blue-legend{font-size:11px;line-height:1.6;color:var(--unified-energy-blue-ink);text-align:center;margin:8px auto 0}
@media(max-width:600px){#supply_demand.unified-energy-story .unified-blue-legend{font-size:10px;margin-top:5px}}
.unified-energy-story .unified-supply-pane>.diagram{width:100%;margin:8px auto 0;max-height:calc(100svh - 300px);position:relative}
@media(max-width:600px){.unified-energy-story .unified-supply-pane>.diagram{max-height:none}}
/* #9: immutable source explanation and cost disclosure, AFTER the complete pin. */
#supply_demand.unified-energy-story .unified-after-pin{position:relative;width:min(100%,1000px);margin:60px auto 0;text-align:center;padding:0 20px}
#supply_demand.unified-energy-story .unified-after-pin>.small-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin:0 auto 40px;text-align:center}
#supply_demand.unified-energy-story .unified-after-pin>.small-copy>*{text-align:center}
#supply_demand.unified-energy-story .unified-after-pin .data-detail{max-width:760px;margin:0 auto;text-align:center}
#supply_demand.unified-energy-story .unified-after-pin .data-detail summary,#supply_demand.unified-energy-story .unified-after-pin .data-detail p{text-align:center}
@media(max-width:600px){#supply_demand.unified-energy-story .unified-after-pin{margin-top:35px;padding:0 6px}#supply_demand.unified-energy-story .unified-after-pin>.small-copy{grid-template-columns:1fr;gap:28px;margin-bottom:30px}}

#supply_demand .unified-copy-phrase{display:inline-block;white-space:nowrap}

/* v27 C/D: same selected parcel travels continuously; phase colors override old #8. */
#supply_demand.unified-energy-story .unified-blue-surplus,#supply_demand.unified-energy-story .ad-surplus{fill:#c77b21!important}
#supply_demand.unified-energy-story .ad-charge-path{stroke:#c77b21!important}
#supply_demand.unified-energy-story .ad-discharge-path{stroke:#648da1!important}
#supply_demand.unified-energy-story .ad-charge-level{fill:var(--energy-phase-color,#c77b21)!important}
#supply_demand.unified-energy-story .ad-charge-shell{stroke:var(--energy-phase-color,#c77b21)!important}
#supply_demand.unified-energy-story .ad-energy-stages .ad-stage:nth-child(-n+2),#supply_demand.unified-energy-story .ad-energy-copy span:nth-child(-n+2){color:#c77b21!important}
#supply_demand.unified-energy-story .ad-energy-stages .ad-stage:last-child,#supply_demand.unified-energy-story .ad-energy-copy span:last-child{color:#648da1!important}
#supply_demand.unified-energy-story .unified-blue-legend{color:#64707b}
#supply_demand:not(.unified-energy-static) #day_night .ad-surplus,#supply_demand:not(.unified-energy-static) #day_night .ad-discharge-area{visibility:hidden}
#supply_demand .unified-energy-parcel{fill-opacity:.68;stroke:none;pointer-events:none}
#supply_demand.unified-energy-static .unified-energy-parcel{display:none}

#supply_demand.unified-energy-story .layer-stage>.unified-energy-progress{display:flex;z-index:6}
#supply_demand.unified-energy-static .layer-stage>.unified-energy-progress{display:none}
/* v31 single chart plane. Only contents change; its bounds/axis/scale never animate. */
#supply_demand.v31-fixed-energy{--energy-safe-top:calc(64px + env(safe-area-inset-top,0px))}
#supply_demand.v31-fixed-energy>.scene-inner>.layer-scroll{height:calc(100svh + 5100px);min-height:5700px}
#supply_demand.v31-fixed-energy:not(.unified-energy-static) .unified-supply-pane>.diagram,#supply_demand.v31-fixed-energy:not(.unified-energy-static) #day_night .diagram{display:none!important}
#supply_demand.v31-fixed-energy:not(.unified-energy-static) .unified-supply-pane,#supply_demand.v31-fixed-energy:not(.unified-energy-static) #day_night .layer-stage{display:block!important;padding:0!important;background:transparent!important}
#supply_demand.v31-fixed-energy:not(.unified-energy-static) #day_night{background:transparent!important;z-index:3;pointer-events:none}
#supply_demand.v31-fixed-energy:not(.unified-energy-static) .unified-supply-pane{z-index:3;pointer-events:none}
#supply_demand.v31-fixed-energy:not(.unified-energy-static) .unified-supply-pane>.layer-headings,#supply_demand.v31-fixed-energy:not(.unified-energy-static) #day_night .layer-headings{position:absolute!important;top:calc(var(--energy-safe-top) + 24px);left:0;right:0;inset-inline:0;height:150px;min-height:150px;margin:0!important;max-width:none}
#supply_demand.v31-fixed-energy .layer-heading[hidden]{display:none!important}
#supply_demand.v31-fixed-energy .unified-fixed-chart{position:absolute;top:calc(var(--energy-safe-top) + 190px);left:50%;width:min(100%,950px);transform:translateX(-50%);z-index:2;pointer-events:none;isolation:isolate}
#supply_demand.v31-fixed-energy .unified-fixed-chart>svg{display:block;width:100%;height:auto;max-height:calc(100svh - var(--energy-safe-top) - 300px);overflow:visible;opacity:var(--v31-chart-alpha,0);transform:none!important}
#supply_demand.v31-fixed-energy .unified-fixed-chart .ad-demand{stroke:#112c45;stroke-width:2.5;fill:none}
#supply_demand.v31-fixed-energy .v31-surplus-boundary{stroke:#c77b21;stroke-width:2.2;fill:none;stroke-dasharray:7 6}
#supply_demand.v31-fixed-energy .v31-parcel{fill:#c77b21;stroke:none}
#supply_demand.v31-fixed-energy .v31-charge-arrow,#supply_demand.v31-fixed-energy .v31-release-arrow{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1}
#supply_demand.v31-fixed-energy .v31-charge-arrow{stroke:#c77b21}#supply_demand.v31-fixed-energy .v31-release-arrow{stroke:#648da1}
#supply_demand.v31-fixed-energy .v31-storage-shell{fill:none;stroke:#c77b21;stroke-width:1.5;vector-effect:non-scaling-stroke}
#supply_demand.v31-fixed-energy .v31-storage-level{fill:#c77b21}
#supply_demand.v31-fixed-energy .v31-energy-label{font-family:inherit;font-size:20px}
#supply_demand.v31-fixed-energy .v31-fixed-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;min-height:48px;margin:8px auto 0;font-size:12px;line-height:1.6;opacity:var(--v31-chart-alpha,0)}
#supply_demand.v31-fixed-energy .v31-fixed-legend span:nth-child(1){color:#64717c}#supply_demand.v31-fixed-energy .v31-fixed-legend span:nth-child(2){color:#547185}#supply_demand.v31-fixed-energy .v31-fixed-legend span:nth-child(3),#supply_demand.v31-fixed-energy .v31-fixed-legend span:nth-child(4){color:#a36219}
#supply_demand.v31-fixed-energy .v31-axis-meaning{font-size:11px;line-height:1.6;color:#64717c;text-align:center;opacity:var(--v31-chart-alpha,0);margin:5px auto}
#supply_demand.v31-fixed-energy .v31-final-battery{position:absolute;inset:0;width:100%;height:100%;max-height:420px;object-fit:contain;margin:0!important;opacity:var(--v31-final,0);transform:none!important}
@media(max-width:600px){#supply_demand.v31-fixed-energy{--energy-safe-top:calc(60px + env(safe-area-inset-top,0px))}#supply_demand.v31-fixed-energy>.scene-inner>.layer-scroll{height:calc(92svh + 4200px);min-height:4800px}#supply_demand.v31-fixed-energy:not(.unified-energy-static) .unified-supply-pane>.layer-headings,#supply_demand.v31-fixed-energy:not(.unified-energy-static) #day_night .layer-headings{height:160px;min-height:160px}#supply_demand.v31-fixed-energy .unified-fixed-chart{top:calc(var(--energy-safe-top) + 200px)}#supply_demand.v31-fixed-energy .unified-fixed-chart .ad-svg-labels{font-size:28px}#supply_demand.v31-fixed-energy .v31-energy-label{font-size:27px}#supply_demand.v31-fixed-energy .v31-fixed-legend{font-size:10px;gap:6px 12px;min-height:64px}#supply_demand.v31-fixed-energy .v31-axis-meaning{font-size:10px}#supply_demand.v31-fixed-energy .unified-fixed-chart>svg{max-height:none}#supply_demand.v31-fixed-energy .v31-final-battery{max-height:300px}}
#supply_demand.v31-fixed-energy.unified-energy-static .unified-fixed-chart{display:none}
#supply_demand.v31-fixed-energy.unified-energy-static .unified-supply-pane>.layer-headings{transform:none!important}
#supply_demand.v31-fixed-energy .v31-layer-caption{font-family:inherit;font-size:20px;fill:#40596b}
@media(max-width:600px){#supply_demand.v31-fixed-energy .v31-layer-caption{font-size:26px}}

/* v36: only two dense copy states; chart plane, axes and timing stay immutable. */
#supply_demand.v31-fixed-energy .energy-tight-copy h3{font-size:clamp(28px,3.1vw,42px);line-height:1.25;letter-spacing:.01em}
#supply_demand.v31-fixed-energy .energy-tight-copy p{font-size:15px;line-height:1.55;margin:14px auto 0;max-width:680px;width:94%;text-wrap:pretty}
#supply_demand.v31-fixed-energy #day_night .unified-day-headings>.energy-final-centered{width:100%;max-width:none!important;margin-inline:auto!important;align-items:center;text-align:center}
#supply_demand.v31-fixed-energy #day_night .energy-final-centered h2,#supply_demand.v31-fixed-energy #day_night .energy-final-centered p{width:100%;max-width:none;margin-inline:auto;text-align:center}
@media(max-width:600px){#supply_demand.v31-fixed-energy .energy-tight-copy h3{font-size:28px;line-height:1.28}#supply_demand.v31-fixed-energy .energy-tight-copy p{font-size:13px;line-height:1.55;margin-top:12px;max-width:330px;width:94%}}

/* v39 scoped voice revision: full-width image box, measured subject center 758/1536. */
#supply_demand.v31-fixed-energy .v31-final-battery{max-width:none!important;object-position:50.7% center}
#supply_demand.v31-fixed-energy .v31-layer-caption.is-surplus-annotation{fill:#b87b32;font-size:17px;font-weight:400;letter-spacing:.02em}
@media(max-width:600px){#supply_demand.v31-fixed-energy .v31-layer-caption.is-surplus-annotation{font-size:23px}}

/* Individual stored-energy pose: align sentence ink, not punctuation box. */
#supply_demand .energy-stored-reading h3{transform:translateX(.14em);letter-spacing:.035em;line-height:1.4}
#supply_demand .energy-stored-reading p{margin-top:18px!important;line-height:1.7;letter-spacing:.025em}
.energy-mobile-break{display:none}
@media(max-width:600px){#supply_demand .energy-stored-reading .energy-mobile-break{display:initial}#supply_demand .energy-stored-reading p{max-width:280px;margin-top:16px!important;font-size:13px;line-height:1.7}}

#supply_demand .energy-opening h2>span{white-space:nowrap}
@media(max-width:600px){#supply_demand .energy-opening h2{font-size:27px;line-height:1.32;letter-spacing:.025em}#supply_demand .energy-opening h2>span{display:block}#supply_demand .energy-opening .energy-desktop-break{display:none}}

/* v60: measured viewport and restrained narrative hierarchy. */
#supply_demand .energy-opening h2,#supply_demand .layer-heading h2,#supply_demand .layer-heading h3{font-size:clamp(28px,3.4vw,46px);line-height:1.5;letter-spacing:.025em}#supply_demand .energy-stored-reading h3{transform:none;line-height:1.5;letter-spacing:.025em}#supply_demand .energy-stored-reading p{margin:16px auto 0!important;text-align:center}#supply_demand.v31-fixed-energy .energy-tight-copy h3{font-size:clamp(27px,3.1vw,42px);line-height:1.5}@media(max-width:600px){#supply_demand .energy-opening h2,#supply_demand .layer-heading h2,#supply_demand .layer-heading h3,#supply_demand.v31-fixed-energy .energy-tight-copy h3{font-size:26px;line-height:1.5;letter-spacing:.025em}#supply_demand .energy-stored-reading p{max-width:300px}}
