/* /tools/solar-storage/: the day loom, one geometry in every block. Classes sol- or solar-, keyframes sol-.
   Base styles are the composed end state; pre-states and scroll-driven rules live under :root[data-m-go].
   Animated properties: transform, opacity, clip-path, filter. Tone acts: night (splash, bench), paper (calculation,
   register, yield: paper, mist, sand), night (ledger, limits on forest, closing strip). */
.sol-film{--sol-night:#072d2b;--sol-deep:#062a28;--sol-forest:#0b3f3c;--sol-ink:#163a35;--sol-paper:#f6f4ef;--sol-mist:#e2ebe6;--sol-sand:#ece8df;--sol-sage:#6bb68f;--sol-ochre:#c98a2b;--sol-ochre-l:#e0b989;--sol-ochre-d:#8a5a12;--sol-leaf-d:#2d6e51;--sol-line:#b4c5c3;--sol-on:#cfdcd4;--sol-miss:#f2b19e;--sol-out:cubic-bezier(.16,1,.3,1);--sol-glide:cubic-bezier(.65,0,.35,1);--sol-gut:max(24px,calc((100% - 1440px) / 2));--header:0px;--ground:#f6f4ef;--rule:#163a3533;font-variant-numeric:tabular-nums lining-nums;color:var(--sol-ink);overflow-x:clip}
.sol-film [hidden]{display:none!important}
.sol-sec{position:relative;min-width:0}
.sol-wrap{width:min(1440px,calc(100% - 96px));margin-inline:auto;min-width:0}
.sol-sec h2{font-size:clamp(2.2rem,3.9vw,4rem);letter-spacing:-.05em;line-height:1.04;margin:0;max-width:17ch}
.sol-sec h3{letter-spacing:-.03em;line-height:1.2}
.sol-sec p{font-size:17px;line-height:1.65;max-width:62ch}
.sol-film .solar-note,.sol-film p.solar-note{font-size:13px;line-height:1.7;max-width:none}
.sol-kick{font:12px/1.6 var(--gft-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sol-leaf-d);margin:0 0 14px}
.sol-kick--light{color:#9fc7b3}
.sol-sec p.sol-lede{font-size:clamp(1.02rem,1.25vw,1.2rem);line-height:1.62;max-width:56ch;margin:0}
.sol-film button{font:inherit;cursor:pointer}
.sol-film :is(input,button,a,[tabindex]):focus-visible{outline:3px solid var(--sol-ochre-l);outline-offset:3px}
.solar-step{font:12px/1.5 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase}
.sol-film [data-valid=false] :is([data-solar-output],[data-sol-ledger],[data-sol-v],[data-solar-instant]){visibility:hidden}

/* ---------- lives (one observer; transform and opacity only; on screen only) ---------- */
[data-m-live~=sol-sun],[data-m-live~=sol-scan],[data-m-live~=sol-run]{overflow-anchor:none}
:root[data-m-go] [data-m-live~=sol-sun]{animation-play-state:var(--m-play);animation-name:sol-sun;animation-duration:24s;animation-delay:900ms;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;transform-box:view-box}
@keyframes sol-sun{0%{transform:rotate(0deg)}25%{transform:rotate(var(--sol-rise))}75%{transform:rotate(calc(360deg - var(--sol-rise)))}100%{transform:rotate(360deg)}}
:root[data-m-go] [data-m-live~=sol-breathe]{animation-play-state:var(--m-play);animation-name:sol-breathe;animation-duration:4.8s;animation-delay:900ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes sol-breathe{from{opacity:1}to{opacity:.42}}
:root[data-m-go] [data-m-live~=sol-pulse]{animation-play-state:var(--m-play);animation-name:sol-pulse;animation-duration:2.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes sol-pulse{from{opacity:.4;transform:scale(.7)}to{opacity:1;transform:scale(1.35)}}
:root[data-m-go] [data-m-live~=sol-blink]{animation-play-state:var(--m-play);animation-name:sol-blink;animation-duration:1.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes sol-blink{from{opacity:.15}to{opacity:1}}
:root[data-m-go] [data-m-live~=sol-scan]{animation-play-state:var(--m-play);animation-name:sol-scan;animation-duration:14s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes sol-scan{from{transform:translateX(0)}to{transform:translateX(1392px)}}
:root[data-m-go] [data-m-live~=sol-run]{animation-play-state:var(--m-play);animation-name:sol-run;animation-duration:7s;animation-timing-function:var(--sol-glide);animation-iteration-count:infinite;animation-direction:normal}
@keyframes sol-run{from{transform:translateX(0);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translateX(calc(-1 * var(--sol-run-x,900px)));opacity:0}}
:root[data-m-go] [data-m-live~=sol-shimmer][data-m-on]>path{animation-name:sol-shimmer;animation-duration:3.2s;animation-delay:calc(var(--k) * 80ms);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes sol-shimmer{from{opacity:1}to{opacity:.35}}
:root[data-m-go] .sol-reg[data-group=Production] [data-zone=Production][data-m-on],:root[data-m-go] .sol-reg[data-group=Outage] [data-zone=Outage][data-m-on],:root[data-m-go] .sol-reg[data-group=Solar] [data-zone=Solar][data-m-on],:root[data-m-go] .sol-reg[data-group=Storage] [data-zone=Storage][data-m-on],:root[data-m-go] .sol-reg[data-group=Budget] [data-zone=Budget][data-m-on]{animation-name:sol-zone;animation-duration:2.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes sol-zone{from{opacity:.62}to{opacity:1}}
:root[data-motion=calm] .sol-film *,:root[data-motion=calm] [data-splash=solar-storage] *{transition-duration:0s!important}

/* ---------- 1 · splash: the loom full bleed ---------- */
[data-splash=solar-storage].gft-splash{min-height:max(640px,calc(100svh - 150px));justify-content:flex-start}
[data-splash=solar-storage] .gft-splash__structure{inset:0;display:block}
[data-splash=solar-storage] .gft-splash__structure::after{display:none}
[data-splash=solar-storage] .gft-splash__ground{background:radial-gradient(ellipse 80% 70% at 60% 18%,#0e4d4a 0%,#072d2b 70%)}
[data-splash=solar-storage] .gft-splash__content{pointer-events:none;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);grid-template-areas:'eb .' 'h1 lede' 'h1 act';column-gap:56px;align-items:end;padding-top:26px;padding-bottom:calc(min(100vw,1720px) * .2639 + 100px)}
[data-splash=solar-storage] .gft-splash__content>*{pointer-events:auto}
[data-splash=solar-storage] .gft-eyebrow{grid-area:eb}
[data-splash=solar-storage] h1{grid-area:h1;font-size:clamp(3rem,min(5vw,8.4svh),5.4rem);max-width:none;margin-top:14px;line-height:1}
[data-splash=solar-storage] h1 .gft-serif{display:inline-block;transform-origin:0 70%}
:root[data-m-go] [data-splash=solar-storage] h1 .gft-serif{animation-name:sol-wdth;animation-duration:760ms;animation-delay:240ms;animation-timing-function:var(--sol-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes sol-wdth{from{opacity:0;transform:scaleX(.55)}}
[data-splash=solar-storage] .gft-splash__lede{grid-area:lede;margin-top:0;max-width:44ch;font-size:clamp(15px,1.15vw,17px);color:#d6e3db}
[data-splash=solar-storage] .gft-splash__actions{grid-area:act;margin-top:18px}
[data-splash=solar-storage] .gft-splash__data{font-size:12px;top:24px}
[data-splash=solar-storage] :is(.gft-splash__position,.gft-splash__signal){font-size:12px}
[data-splash=solar-storage] .gft-splash__bottom{position:absolute;left:0;right:0;bottom:0;padding-block:4px;border-top:0}
[data-splash=solar-storage] .gft-splash__caption{color:#cfdcd4}
.sol-loom{position:absolute;left:0;right:0;bottom:52px;margin-inline:auto;width:min(100%,1720px);pointer-events:none}
.sol-loom__plates{transform-origin:50% 100%}
.sol-plate{position:relative}
.sol-plate--p{display:none}
.sol-plate__svg{width:100%;height:auto;overflow:visible}
.sol-plate__lbl{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);transform:translateY(-100%);font:12px/1.3 var(--gft-font-mono);letter-spacing:.04em;color:#cfdcd4;white-space:nowrap}
.sol-plate__lbl--arch,.sol-plate__lbl--out{color:#e0b989}
.sol-plate__lbl--res{color:#9fd3b6;transform:translateY(4px)}
.sol-plate__lbl--out{padding-left:8px;transform:translateY(6px)}
.sol-plate__tag{position:absolute;right:1.7%;top:calc(var(--y) * 1%);transform:translateY(-130%);font:12px/1.3 var(--gft-font-mono);letter-spacing:.06em;color:#cfdcd4;border:1px solid #cfdcd455;padding:3px 8px}
.sol-plate__axis{position:absolute;left:0;right:0;bottom:2px;height:16px;font:12px/16px var(--gft-font-mono);color:#b9cbc3}
.sol-plate__axis span{position:absolute;left:calc(var(--x) * 1%);transform:translateX(-50%)}
.sol-plate__axis span:first-child{transform:none}.sol-plate__axis span:last-child{transform:translateX(-100%)}
.sol-sun{transform-box:view-box}
.sol-sweep{transition:transform 260ms var(--sol-out)}
:root[data-m-go] [data-splash=solar-storage] [data-splash-draw]{animation-duration:520ms;animation-delay:var(--sol-d,0ms);animation-timing-function:var(--sol-out)}
.sol-rail{position:relative;pointer-events:auto}
.sol-rail__track{position:relative;height:44px}
.sol-rail__track input{position:absolute;top:0;left:calc(2.1701% - 12px);width:calc(95.6597% + 24px);height:44px;min-height:44px;margin:0;padding:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:ew-resize}
.sol-rail__track input::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,#6bb68f55,#e0b98988 58%,#6bb68f55);border-radius:2px}
.sol-rail__track input::-moz-range-track{height:4px;background:linear-gradient(90deg,#6bb68f55,#e0b98988 58%,#6bb68f55);border-radius:2px}
.sol-rail__track input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:50%;background:#e0b989;border:3px solid #072d2b;box-shadow:0 0 0 2px #e0b989}
.sol-rail__track input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#e0b989;border:3px solid #072d2b;box-shadow:0 0 0 2px #e0b989}
.sol-rail__row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:1.667%;color:#e7eee9}
.sol-rail__lbl{display:flex;align-items:baseline;gap:12px;font:12px/1.4 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#cfdcd4}
.sol-rail__lbl output{font:700 20px/1 var(--gft-font-display);letter-spacing:-.02em;color:#e0b989;text-transform:none}
.sol-rail__hint{text-transform:none;letter-spacing:0;color:#b9cbc3}
.sol-rail__read{display:flex;gap:30px;margin:0}
.sol-rail__read div{display:flex;align-items:baseline;gap:8px}
.sol-rail__read dt{font:12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#b9cbc3}
.sol-rail__read dd{margin:0;font:700 22px/1 var(--gft-font-display);letter-spacing:-.03em;color:#f6f4ef}
@supports (animation-timeline:view()){
 :root[data-m-go] [data-splash=solar-storage] .sol-loom__plates{animation-name:sol-plate-out;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--gft-splash;animation-range-start:exit 0%;animation-range-end:exit 100%}
}
@keyframes sol-plate-out{from{transform:scale(1)}to{transform:scale(.9)}}

/* ---------- shared rulers: the time axis handed from block to block ---------- */
.sol-ruler,.sol-handdown{position:relative;height:34px;font:12px/1 var(--gft-font-mono);color:#b9cbc3}
.sol-ruler__line,.sol-handdown__line{position:absolute;left:1.667%;right:1.667%;top:0;height:1px;background:#cfdcd466}
.sol-ruler span,.sol-handdown span{position:absolute;top:0;left:calc(var(--x) * 1%);transform:translateX(-50%);padding-top:12px}
.sol-ruler span::before,.sol-handdown span::before{content:'';position:absolute;left:50%;top:0;width:1px;height:8px;background:currentColor}
.sol-ruler span:first-of-type,.sol-handdown span:first-of-type{transform:none}.sol-ruler span:first-of-type::before,.sol-handdown span:first-of-type::before{left:0}
.sol-ruler span:last-of-type,.sol-handdown span:last-of-type{transform:translateX(-100%)}.sol-ruler span:last-of-type::before,.sol-handdown span:last-of-type::before{left:auto;right:0}

/* ---------- 2 · bench (night) ---------- */
.sol-bench{background:var(--sol-deep);color:#e7eee9;padding-bottom:clamp(56px,6vw,96px)}
.sol-bench__frame{position:relative;padding-top:clamp(28px,3vw,44px)}
.sol-bench__frame::before,.sol-bench__frame::after{content:'';position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(#6bb68f88,#6bb68f00);transform-origin:50% 0}
.sol-bench__frame::before{left:1.667%}.sol-bench__frame::after{right:1.667%}
:root[data-m-go] .sol-bench__frame[data-m-in]::before,:root[data-m-go] .sol-bench__frame[data-m-in]::after{animation-name:sol-edge;animation-duration:620ms;animation-timing-function:var(--sol-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes sol-edge{from{transform:scaleY(0)}}
.sol-bench__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:end}
.sol-bench__head h2{max-width:21ch;font-size:clamp(2rem,3.4vw,3.5rem);color:#f6f4ef}
.sol-bench .sol-lede{color:#cfdcd4}
.solar-chip{display:inline-block;margin-top:14px;padding:5px 10px;border:1px solid #e0b98999;color:#e0b989;font:12px var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase}
.solar-error{margin-top:20px;padding:14px 18px;border:2px solid #f2b19e;color:#ffd9cf;font-size:15px}
.sol-chart{position:relative;margin:clamp(20px,2.4vw,36px) 0 0}
.sol-chart__plot{position:relative;aspect-ratio:1440/560;min-height:470px;--vby:0;--vbh:560}
.sol-chart__svg{position:absolute;inset:0;width:100%;height:100%}
.sol-chart__svg *,.sol-strip__svg *,.sol-lplot__svg *{vector-effect:non-scaling-stroke}
.sol-th{stroke-width:7;stroke-linecap:butt}
.sol-ghost{display:none}
.sol-chart[data-overlay=on] .sol-ghost{display:inline}
.sol-ghost path{stroke:#f6f4ef;stroke-opacity:.5;stroke-width:1.6;stroke-dasharray:6 5}
.sol-chart__sun,.sol-chart__dot,.sol-chart__lbl{position:absolute;left:calc(var(--x) * 1%);top:calc((var(--y) - var(--vby)) / var(--vbh) * 100%)}
.sol-chart__sun{width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#e0b989;box-shadow:0 0 0 10px #c98a2b2a;transition:opacity .3s}
.sol-chart__sun[data-night]{opacity:.18}
.sol-chart__dot{width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#6bb68f;border:2px solid #062a28;box-shadow:0 0 0 6px #6bb68f33}
.sol-chart__lbl{font:12px/1.3 var(--gft-font-mono);letter-spacing:.04em;color:#cfdcd4;white-space:nowrap}
.sol-chart__lbl--res{color:#9fd3b6}
.sol-chart__lbl--ab{transform:translateX(-100%);padding:3px 8px;border:1px dashed #f6f4ef88;color:#f6f4ef;text-transform:none;letter-spacing:0}
.sol-chart__lbl--ab[data-held]{border-style:solid;border-color:#e0b989;color:#e0b989;background:#072d2b}
.sol-chart__axis{position:absolute;left:0;right:0;bottom:4px;height:16px;font:12px/16px var(--gft-font-mono);color:#b9cbc3;pointer-events:none}
.sol-chart__axis span,.sol-strip__axis span,.sol-lplot__axis span,.sol-locator__axis span{position:absolute;left:calc(var(--x) * 1%);transform:translateX(-50%)}
:is(.sol-chart__axis,.sol-strip__axis,.sol-lplot__axis,.sol-locator__axis) span:first-child{transform:none}
:is(.sol-chart__axis,.sol-strip__axis,.sol-lplot__axis,.sol-locator__axis) span:last-child{transform:translateX(-100%)}
.sol-win{position:absolute;left:calc(var(--x0) * 1%);width:max(24px,calc((var(--x1) - var(--x0)) * 1%));top:calc((118 - var(--vby)) / var(--vbh) * 100%);bottom:calc((var(--vby) + var(--vbh) - 514) / var(--vbh) * 100%);cursor:grab;touch-action:none;z-index:2}
.sol-win[data-drag]{cursor:grabbing}
.sol-win:focus-visible{outline-offset:-3px}
.sol-win__lbl{position:absolute;left:8px;top:6px;font:12px/1.3 var(--gft-font-mono);letter-spacing:.04em;color:#e0b989;white-space:nowrap;background:#062a28cc;padding:2px 6px}
.sol-win__grip{position:absolute;left:-9px;top:50%;width:18px;height:44px;margin-top:-22px;background:#0a3d3a;border:1px solid #e0b989;border-radius:3px}
.sol-win__grip::after{content:'';position:absolute;left:5px;top:12px;width:6px;height:18px;border-inline:1px solid #e0b989}
.sol-win__end{position:absolute;left:calc(var(--x1) * 1%);top:calc((250 - var(--vby)) / var(--vbh) * 100%);width:44px;height:88px;margin-left:-22px;cursor:ew-resize;touch-action:none;z-index:3}
.sol-win__end i{position:absolute;left:16px;top:10px;width:12px;height:68px;background:#0a3d3a;border:1px solid #e0b989;border-radius:3px}
.sol-win__end i::after{content:'';position:absolute;left:4px;top:24px;width:2px;height:18px;background:#e0b989}
.sol-leader{display:inline}
.sol-ro-set{position:absolute;left:0;right:0;top:0;height:20%;pointer-events:none}
.sol-ro{position:absolute;top:6px;left:calc(var(--x) * 1%);transform:translateX(-50%);width:min(276px,21vw);padding:10px 14px 9px;background:#062a28e6;border:1px solid #6bb68f55;pointer-events:auto}
.sol-ro__lbl{display:block;font:12px/1.3 var(--gft-font-mono);letter-spacing:.05em;text-transform:uppercase;color:#b9cbc3}
.sol-ro__v{display:flex;align-items:baseline;gap:8px;margin-top:4px}
.sol-ro__v output{font:800 clamp(1.7rem,2.3vw,2.2rem)/1 var(--gft-font-display);letter-spacing:-.04em;color:#f6f4ef}
.sol-ro__v span{font:12px var(--gft-font-mono);color:#cfdcd4}
.sol-ro--unservedKwh output{color:#f2b19e}.sol-ro--pvKwp output{color:#e0b989}.sol-ro--batteryKwh output{color:#9fd3b6}
.sol-film .sol-delta{display:flex;gap:6px;align-items:center;margin:5px 0 0;font:12px/1.3 var(--gft-font-mono);color:#cfdcd4}
.sol-delta[data-dir=up] b{color:#f2b19e}.sol-delta[data-dir=down] b{color:#9fd3b6}
.sol-key{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:14px 0 0;padding:0 var(--sol-gut);font:12px var(--gft-font-mono);color:#cfdcd4}
.sol-key li{display:flex;align-items:center;gap:8px}
.sol-key i{display:inline-block;width:18px;height:5px;background:var(--c)}
.sol-key [data-k=pv]{--c:#e0b989}.sol-key [data-k=battery]{--c:#6bb68f}.sol-key [data-k=grid]{--c:#b4c5c3}.sol-key [data-k=miss]{--c:#f2b19e}
.sol-key [data-k=out]{height:12px;background:repeating-linear-gradient(135deg,#e0b989 0 2px,transparent 2px 6px);outline:1px dashed #e0b989}
.sol-key [data-k=res]{--c:#6bb68f;height:2px}.sol-key [data-k=ghost]{height:0;border-top:2px dashed #f6f4efaa;background:none}
.sol-bench__deck{margin-top:28px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px 48px}
.sol-time{display:grid;gap:10px;align-content:start}
.solar-time-control label{display:flex;justify-content:space-between;font:12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#cfdcd4}
.solar-time-control output{font:700 18px var(--gft-font-display);color:#e0b989}
.solar-time-control>div{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.solar-time-control input{width:100%;accent-color:#e0b989}
.sol-film :is([data-solar-play],.sol-ab button,.solar-actions button,.solar-presets span,.sol-cta,.sol-duty__btns button,[data-sol-show]){min-height:46px;padding:10px 16px;border:1px solid currentColor;background:transparent;color:inherit;font-size:14px;font-weight:650}
.sol-film .solar-interval{font:13px/1.5 var(--gft-font-mono);color:#cfdcd4;margin:0}
.solar-instant{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.solar-instant dt{font:12px var(--gft-font-mono);color:#b9cbc3}
.solar-instant dd{margin:4px 0 0;font:700 19px var(--gft-font-display);color:#f6f4ef}
.solar-verdict{padding:16px 20px;border-left:3px solid #e0b989;background:#072d2b}
.solar-verdict .solar-step{color:#e0b989}
.solar-verdict p{margin:6px 0 0;font-size:16px;line-height:1.6;color:#e7eee9}
.solar-controls{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:18px;padding-top:24px;border-top:1px solid #cfdcd433}
.sol-deck__top{display:flex;flex-wrap:wrap;gap:16px 36px;align-items:center;justify-content:space-between}
.solar-presets{display:flex;flex-wrap:wrap;gap:10px;border:0;margin:0;padding:0;align-items:center;min-width:0}
.solar-presets legend{float:left;margin-right:12px;font:12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#b9cbc3}
.solar-presets label{position:relative}
.solar-presets input{position:absolute;opacity:0;inset:0}
.solar-presets span{display:inline-flex;align-items:center;cursor:pointer}
.solar-presets input:checked+span{background:#e0b989;border-color:#e0b989;color:#072d2b}
.solar-presets input:focus-visible+span{outline:3px solid #e0b989;outline-offset:3px}
.sol-ab{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sol-ab__hold{background:#e0b989!important;color:#072d2b!important;border-color:#e0b989!important}
.sol-ab button:disabled{opacity:.55;cursor:default}
.sol-toggle[aria-pressed=true]{background:#f6f4ef1a!important}
.sol-film .sol-ab__state{flex-basis:100%;margin:0;font:13px/1.5 var(--gft-font-mono);color:#cfdcd4}
.sol-tabs__rail{display:flex;gap:4px;border-bottom:1px solid #cfdcd444}
.sol-tabs__rail button{display:flex;gap:10px;align-items:baseline;min-height:48px;padding:10px 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#cfdcd4;font-size:15px;font-weight:650}
.sol-tabs__rail button b{font:12px var(--gft-font-mono);color:#9fc7b3}
.sol-tabs__rail button[aria-selected=true]{color:#f6f4ef;border-bottom-color:#e0b989;background:#ffffff0d}
.sol-tabs__panels{display:grid;padding-top:16px}
.sol-panel{border:0;margin:0;padding:0;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 28px}
.sol-tabs[data-ready] .sol-panel{grid-area:1/1;visibility:hidden}
.sol-tabs[data-ready] .sol-panel[data-on]{visibility:visible}
.solar-field label{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:#e7eee9}
.solar-unit{font:12px var(--gft-font-mono);color:#b9cbc3}
.solar-input-pair{display:grid;grid-template-columns:1fr 96px;gap:12px;align-items:center;margin-top:6px}
.solar-input-pair input[type=range]{width:100%;accent-color:#e0b989}
.solar-input-pair input[type=number]{min-height:44px;padding:8px 10px;border:1px solid #cfdcd466;background:#031f1d;color:#f6f4ef;font-size:15px}
.solar-input-pair input[aria-invalid=true]{border-color:#f2b19e}
.solar-actions{display:flex;flex-wrap:wrap;gap:10px}
.solar-share-fallback{display:grid;gap:6px}.solar-share-fallback input{min-height:44px;padding:8px;background:#031f1d;color:#f6f4ef;border:1px solid #cfdcd466}
.sol-bench .solar-note{color:#cfdcd4}
.sol-bench__deck>.solar-note{grid-column:1 / -1;margin:0}
.solar-nojs{grid-column:1 / -1;padding:14px;border:1px solid #e0b989}

/* ---------- 3 · calculation (paper, sticky stage) ---------- */
.sol-calc{background:var(--sol-deep);color:#e7eee9;padding-bottom:clamp(120px,13vw,200px);--rule:#cfdcd433}
.sol-handdown{color:#b9cbc3}
.sol-handdown__line{background:#cfdcd466;height:1px}
.sol-handdown__k{position:absolute;left:1.667%;top:30px;font:700 12px/1 var(--gft-font-mono);letter-spacing:.12em;text-transform:uppercase;color:#9fc7b3}
.sol-calc__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:48px;align-items:end;padding-top:clamp(48px,5vw,80px);margin-bottom:clamp(24px,3vw,48px)}
.sol-calc .sol-lede{color:#cfdcd4}
.sol-calc h2{color:#f6f4ef}
.sol-calc .sol-kick{color:#9fc7b3}
.sol-steps.mw-steps--flip{grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);gap:clamp(40px,5vw,80px)}
.sol-steps .mw-steps__visual{min-height:0;align-items:start}
.sol-steps__track>li{min-height:66svh;padding-inline-start:1.6rem}
.sol-steps__track>li:last-child{min-height:86svh}
.sol-steps__track>li::before{background:#cfdcd433}
.sol-steps__track>li::after{background:#e0b989}
.sol-steps__n{font:12px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#9fc7b3}
.sol-steps__track h3{font-size:clamp(1.6rem,2.4vw,2.4rem);margin:8px 0 14px;color:#f6f4ef}
.sol-sec .sol-steps__track p{font-size:clamp(1.05rem,1.2vw,1.16rem);line-height:1.66;color:#d6e3db}
.sol-chip{display:grid;gap:6px;margin-top:16px}
.sol-chip code{display:block;width:fit-content;max-width:100%;padding:7px 11px;font:14px/1.5 var(--gft-font-mono);background:#123533;border:1px solid #cfdcd440;color:#e7eee9;overflow-wrap:anywhere}
.sol-chip .sol-chip__live{background:#203b34;border-color:#e0b98966;color:#f3dcb8}
.sol-stg-wrap{position:relative;display:grid;gap:10px;padding:18px 22px 16px;background:#fffdf8;border:1px solid #163a3522;box-shadow:0 18px 50px -30px #163a3566}
.sol-stg__head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 22px;align-items:center}
.sol-rail2{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.sol-rail2 button{display:flex;gap:8px;align-items:center;min-height:44px;padding:6px 12px;border:1px solid #163a3533;background:transparent;color:#2f4842;font-size:14px}
.sol-rail2 b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#163a3514;font:700 12px var(--gft-font-mono)}
.sol-steps:not([data-step]) .sol-rail2 li:nth-child(4) button,.sol-steps[data-step="0"] .sol-rail2 li:nth-child(1) button,.sol-steps[data-step="1"] .sol-rail2 li:nth-child(2) button,.sol-steps[data-step="2"] .sol-rail2 li:nth-child(3) button,.sol-steps[data-step="3"] .sol-rail2 li:nth-child(4) button{background:#163a35;color:#f6f4ef;border-color:#163a35}
.sol-steps:not([data-step]) .sol-rail2 li:nth-child(4) b,.sol-steps[data-step="0"] .sol-rail2 li:nth-child(1) b,.sol-steps[data-step="1"] .sol-rail2 li:nth-child(2) b,.sol-steps[data-step="2"] .sol-rail2 li:nth-child(3) b,.sol-steps[data-step="3"] .sol-rail2 li:nth-child(4) b{background:#e0b989;color:#163a35}
.sol-stg__figs,.sol-stg__under{display:grid}
.sol-stg__fig,.sol-stg__formula>p{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity 180ms linear,visibility 0s linear 180ms}
.sol-stg__fig{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 22px}
.sol-k{flex-basis:100%;font:12px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sol-leaf-d)}
.sol-stg__fig b{font:800 clamp(1.8rem,2.6vw,2.6rem)/1 var(--gft-font-display);letter-spacing:-.045em;color:#163a35}
.sol-stg__fig i{font:500 14px var(--gft-font-mono);font-style:normal;letter-spacing:0;color:#2f4842}
.sol-stg__fig .sol-b2{color:#5e3c0b}.sol-stg__fig .sol-b2--miss{color:#a8432c}
.sol-steps:not([data-step]) [data-on="3"],.sol-steps[data-step="0"] [data-on="0"],.sol-steps[data-step="1"] [data-on="1"],.sol-steps[data-step="2"] [data-on="2"],.sol-steps[data-step="3"] [data-on="3"]{opacity:1;visibility:visible;transition:opacity 320ms var(--sol-out) 200ms,visibility 0s linear 200ms}
.sol-stg{width:100%;height:auto;max-height:min(39svh,440px);overflow:visible}
.sol-stg__focus>path{opacity:0;transition:opacity 260ms linear}
.sol-stg__sweep{display:none;transform-box:view-box}
.sol-stg__formula{display:grid;position:relative;z-index:2;margin:6px 0 0 calc(-22px - clamp(28px,3vw,48px));width:fit-content;max-width:calc(100% + clamp(28px,3vw,48px));padding:12px 16px;background:#072d2b;border:1px solid #e0b98999;border-left:4px solid #e0b989;box-shadow:0 18px 40px -24px #000}
.sol-stg__formula p{display:grid;gap:6px;max-width:none}
.sol-stg__formula code{font:14px/1.5 var(--gft-font-mono);color:#f6f4ef;overflow-wrap:anywhere}
.sol-stg__formula .sol-chip__live{color:#e0b989}
@media (min-width:901px){.sol-steps__track .sol-chip{display:none}}
@media (min-width:901px) and (max-height:860px){.sol-stg{max-height:31svh}.sol-stg-wrap{gap:8px;padding-block:14px 12px}}
.sol-stg__t{font:13px var(--gft-font-mono);fill:#2f4842}
.sol-stg__tk{font-size:13px;fill:#2f4842}
.sol-stg__tv{font:800 19px var(--gft-font-display);fill:#163a35}
.sol-stg :is(.sol-stg__arch,.sol-stg__cells,.sol-stg__disp,.sol-stg__col,.sol-stg__collbl,.sol-stg__note2,.sol-stg__shift,.sol-stg__bar,.sol-stg__axis,.sol-stg__out){transition:opacity 500ms var(--sol-out),transform 760ms var(--sol-out),clip-path 760ms var(--sol-out)}
.sol-stg__cells{fill:#3f8f6b;fill-opacity:.55;stroke:#2d6e51;stroke-width:1;transform-box:fill-box;transform-origin:50% 100%}
.sol-stg__th{stroke-width:7;fill:none}
.sol-stg__col{transform-box:fill-box;transform-origin:50% 50%}
/* default composition = step 4 (dispatch) */
.sol-stg__cells,.sol-stg__collbl,.sol-stg__note2,.sol-stg__shift,.sol-stg__bar{opacity:0}
.sol-stg__arch{opacity:.6}
.sol-stg__curtail{opacity:1;transition:opacity .5s}
.sol-steps[data-step]:not([data-step="3"]) .sol-stg__disp{clip-path:inset(0 100% 0 0);opacity:0}
.sol-steps[data-step]:not([data-step="3"]) .sol-stg__curtail{opacity:0}
.sol-steps[data-step="0"] .sol-stg__cells{opacity:1}
.sol-steps[data-step="0"] .sol-stg__arch{opacity:.55}
.sol-steps[data-step="0"] .sol-stg__area{opacity:0}
.sol-steps[data-step="0"] .sol-stg__archline{stroke-dasharray:4 6;stroke-opacity:.6}
.sol-steps[data-step="0"] .sol-stg__shift{opacity:1}
.sol-steps[data-step="1"] .sol-stg__cells{opacity:1;fill-opacity:0;stroke-dasharray:3 3;transform:translateY(-4px)}
.sol-steps[data-step="1"] .sol-stg__arch{opacity:1}
.sol-steps[data-step="1"] .sol-stg__note2{opacity:1}
.sol-steps[data-step="2"] .sol-stg__arch{opacity:.14}
.sol-steps[data-step="2"] .sol-stg__axis{opacity:.4}
.sol-steps[data-step="2"] .sol-stg__cells{opacity:.14;fill-opacity:0}
.sol-steps[data-step="2"] .sol-stg__col{transform:var(--sol-col)}
.sol-steps[data-step="2"] :is(.sol-stg__bar,.sol-stg__collbl){opacity:1}
.sol-steps[data-step="2"] .sol-stg__out{opacity:.25}
:root[data-m-go] .sol-steps[data-step="1"] .sol-stg__cells,:root[data-m-go] .sol-steps[data-step="2"] .sol-stg__cells{transform:translateY(8px)}
.sol-stg__under{display:grid}
.sol-stg__under>.sol-stg__cap{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity 180ms linear,visibility 0s linear 180ms}
.sol-stg__ledger{display:grid;gap:4px;padding-top:8px;border-top:1px solid #163a351f}
.sol-film .sol-stg__cap{font:14px/1.6 var(--gft-font-mono);color:#2f4842;max-width:none}
.sol-film .sol-stg__eq{margin:0;font:13px/1.5 var(--gft-font-mono);color:#163a35}
.sol-flows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 18px;margin:8px 0 6px}
.sol-flows dt{font:12px var(--gft-font-mono);color:#3d5249}
.sol-flows dd{margin:0;font:700 16px var(--gft-font-display);color:#163a35}
.sol-film .sol-stg__note{margin:0;font:12px/1.5 var(--gft-font-mono);color:#3d5249}
.sol-stg__key{display:flex;gap:18px;list-style:none;margin:0;padding:0;font:12px var(--gft-font-mono);color:#2f4842}
.sol-stg__key li{display:flex;gap:6px;align-items:center}
.sol-stg__key i{width:16px;height:5px;background:var(--c)}
.sol-stg__key [data-k=pv]{--c:#c98a2b}.sol-stg__key [data-k=battery]{--c:#3f8f6b}.sol-stg__key [data-k=grid]{--c:#8a9a97}.sol-stg__key [data-k=miss]{--c:#d0644a}
@supports (animation-timeline:view()){
 :root[data-m-go] .sol-steps__track>li:last-child{view-timeline-name:--sol-last;view-timeline-axis:block}
 :root[data-m-go] .sol-stage__fold{transform-origin:100% 100%;animation-name:sol-fold;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--sol-last;animation-range-start:cover 54%;animation-range-end:cover 95%}
}
@keyframes sol-fold{from{transform:scale(1)}to{transform:scale(.8)}}
@supports (animation-timeline:view()){
 :root[data-m-go] .sol-steps{timeline-scope:--sol-last,--sol-track}
 :root[data-m-go] .sol-steps__track{view-timeline-name:--sol-track;view-timeline-axis:block}
 :root[data-m-go] .sol-stg__sweep{display:inline;overflow-anchor:none;animation-name:sol-sweep;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--sol-track;animation-range-start:contain 0%;animation-range-end:contain 100%}
}
@keyframes sol-sweep{from{transform:translateX(0px)}to{transform:translateX(560px)}}

/* ---------- 4 · register (mist) ---------- */
.sol-register{background:var(--sol-mist);color:var(--sol-ink);padding-block:clamp(64px,7vw,112px)}
.sol-register__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:32px}
.sol-register .sol-lede{color:#26403a}
.sol-reg{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(24px,3vw,48px);align-items:start}
.sol-drawers{display:flex;flex-wrap:wrap;gap:8px}
.sol-drawers label{position:relative}
.sol-drawers input{position:absolute;inset:0;opacity:0}
.sol-drawers span{display:inline-flex;gap:10px;align-items:center;min-height:46px;padding:8px 16px;border:1px solid #163a3555;font-size:15px;font-weight:650;cursor:pointer}
.sol-drawers span i{font:12px var(--gft-font-mono);font-style:normal;padding:1px 7px;background:#163a3514}
.sol-drawers input:checked+span{background:#163a35;color:#f6f4ef;border-color:#163a35}
.sol-drawers input:checked+span i{background:#e0b989;color:#163a35}
.sol-drawers input:focus-visible+span{outline:3px solid #a8691a;outline-offset:3px}
.sol-reg__band{display:grid;margin:14px 0 18px}
.sol-reg__band p{grid-area:1/1;margin:0;font-size:16px;color:#26403a;visibility:hidden}
.sol-reg__stack{display:grid}
.sol-drawer{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-content:start;visibility:hidden}
.sol-reg:has(input[value=Production]:checked) :is(.sol-drawer,.sol-reg__band p)[data-g=Production],.sol-reg:has(input[value=Outage]:checked) :is(.sol-drawer,.sol-reg__band p)[data-g=Outage],.sol-reg:has(input[value=Solar]:checked) :is(.sol-drawer,.sol-reg__band p)[data-g=Solar],.sol-reg:has(input[value=Storage]:checked) :is(.sol-drawer,.sol-reg__band p)[data-g=Storage],.sol-reg:has(input[value=Budget]:checked) :is(.sol-drawer,.sol-reg__band p)[data-g=Budget]{visibility:visible}
.sol-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:14px 18px 12px;background:#f6f4ef;border:1px solid #163a352e;border-left:5px solid #163a3522;cursor:pointer}
.sol-card .sol-card__bar{grid-column:1 / -1}
.sol-card[data-sel]{border-color:#a8691a;border-left-color:#c98a2b;background:#fffdf8;box-shadow:0 10px 30px -20px #163a3577}
.sol-card h3{font-size:18px;margin:0}
.sol-card:hover{border-color:#a8691a88}
.sol-film .sol-card__vals{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;font-size:15px}
.sol-card__vals span{padding:4px 10px;background:#163a350f;border:1px solid #163a3522}
.sol-card__vals b{font-size:18px}
.sol-card__vals b{font-weight:800}
.sol-card__live{background:#c98a2b1c!important;border-color:#a8691a55!important}
.sol-badge{font:700 12px var(--gft-font-mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;background:#a8432c;color:#fff;visibility:hidden}
.sol-badge[data-on]{visibility:visible}
.sol-card__bar{position:relative;display:block;height:6px;background:#163a3518;overflow:hidden}
.sol-card__bar u{position:absolute;inset:0;background:#2d6e51;transform-origin:0 50%;transform:scaleX(var(--w));transition:transform .5s var(--sol-out)}
.sol-sec .sol-card__basis{margin:0;font-size:15px;line-height:1.55;color:#26403a}
.sol-card [data-sol-show]{justify-self:start;color:#163a35!important;font-size:14px!important}
.sol-register__tail{margin-top:22px!important;font-size:16px!important;color:#26403a}
.sol-locator{position:sticky;top:calc(var(--header,80px) + 20px)}
.sol-locator__in{display:grid;gap:14px;padding:clamp(20px,2vw,30px);background:#072d2b;color:#e7eee9;box-shadow:0 30px 60px -36px #072d2b}
.sol-locator .sol-kick{margin:0}
.sol-locator__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:22px;align-items:start}
.sol-locator__map{display:grid;gap:6px}
.sol-film .sol-locator__mk,.sol-film .sol-sense__k{margin:0;font:12px/1.4 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#cfdcd4}
.sol-sense{display:grid;gap:6px;margin:0;padding:12px 14px;border:1px solid #cfdcd433;background:#0e3331}
.sol-sense__svg{width:100%;height:auto;overflow:visible}
.sol-sense__svg [data-sol-sense-dot]{transition:transform .5s var(--sol-out)}
.sol-sense__axis{display:flex;justify-content:space-between;font:12px var(--gft-font-mono);color:#cfdcd4}
.sol-film .sol-sense__read{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin:2px 0 0;font:12px/1.4 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#cfdcd4}
.sol-sense__read output{font:800 clamp(1.6rem,2.4vw,2.3rem)/1 var(--gft-font-display);letter-spacing:-.04em;text-transform:none;color:#e0b989}
.sol-film .sol-sense__flat{display:none;margin:0;font-size:14px;line-height:1.5;color:#d6e3db}
.sol-sense[data-flat] .sol-sense__flat{display:block}
.sol-locator__show{justify-self:start;min-height:46px;padding:10px 18px;border:1px solid #e0b989;background:transparent;color:#f6f4ef;font-size:15px;font-weight:650}
.sol-locator__show:hover{background:#e0b9891f}
.sol-locator .sol-kick{color:#9fc7b3}
.sol-locator__svg{width:100%;height:auto;background:#f6f4ef;overflow:visible}
.sol-locator__axis{position:relative;height:20px;font:12px/20px var(--gft-font-mono);color:#cfdcd4}
.sol-zone{opacity:.42;transition:opacity .3s}
.sol-reg[data-group=Production] [data-zone=Production],.sol-reg[data-group=Outage] [data-zone=Outage],.sol-reg[data-group=Solar] [data-zone=Solar],.sol-reg[data-group=Storage] [data-zone=Storage],.sol-reg[data-group=Budget] [data-zone=Budget]{opacity:1}
.sol-locator__card{display:grid;gap:6px}
.sol-film .sol-locator__group{margin:0;font:12px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#e0b989}
.sol-locator__card h3{font-size:clamp(1.5rem,2.3vw,2.2rem);letter-spacing:-.035em;margin:0;color:#f6f4ef}
.sol-film .sol-locator__vals{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin:0;font-size:16px;color:#cfdcd4}
.sol-locator__now b{font:800 clamp(1.6rem,2.4vw,2.3rem)/1 var(--gft-font-display);letter-spacing:-.04em;color:#e0b989}
.sol-locator__vals i{font-style:normal}
.sol-sec .sol-locator__basis{margin:0;font-size:14px;line-height:1.55;color:#cfdcd4}
.sol-locator__lift{transform-box:view-box;transform-origin:200px 150px}
@supports (animation-timeline:view()){
 :root[data-m-go] .sol-register{view-timeline-name:--sol-reg;view-timeline-axis:block}
 :root[data-m-go] .sol-locator__lift{animation-name:sol-lift;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--sol-reg;animation-range-start:exit 20%;animation-range-end:exit 80%}
}
@keyframes sol-lift{from{transform:translateY(0) scale(1)}to{transform:translateY(-26px) scale(1.12)}}

/* ---------- arch gates: the splash's solar arch becomes the boundary into and out of the paper act ---------- */
.sol-gate{position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:clamp(70px,9vw,150px);pointer-events:none;z-index:1;overflow-anchor:none}
.sol-gate svg{display:block;width:100%;height:100%;transform-origin:50% 100%}
@supports (animation-timeline:view()){
 :root[data-m-go] .sol-gate svg{animation-name:sol-rise;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range-start:entry 0%;animation-range-end:cover 45%}
}
@keyframes sol-rise{from{transform:scaleY(.25)}to{transform:scaleY(1)}}

/* ---------- 5 · yield (sand) ---------- */
.sol-yield{background:var(--sol-sand);color:var(--sol-ink);padding-top:clamp(56px,6vw,96px);padding-bottom:clamp(140px,13vw,210px)}
.sol-yield__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,3vw,48px) clamp(28px,4vw,72px);align-items:center}
.sol-dial{position:relative;display:grid;gap:10px;justify-items:center}
.sol-dial__svg{width:100%;height:auto;display:block}
.sol-dial__ticks path{transform-box:view-box;transform-origin:260px 270px}
.sol-dial__needle{transform-box:view-box;transform-origin:260px 270px;transition:transform .75s var(--sol-out)}
.sol-dial__face{position:relative;width:100%;max-width:640px}
.sol-dial__end{position:absolute;top:calc(276 / 300 * 100%);font:12px var(--gft-font-mono);color:#2f4842}
.sol-dial__end--lo{left:calc(40 / 520 * 100%);transform:translateX(-50%)}.sol-dial__end--hi{left:calc(480 / 520 * 100%);transform:translateX(-50%)}
.sol-dial__read{display:flex;align-items:baseline;gap:12px}
.sol-dial__read output{font:800 clamp(3rem,5vw,4.6rem)/1 var(--gft-font-display);letter-spacing:-.05em;color:#163a35}
.sol-dial__read i{font:13px var(--gft-font-mono);font-style:normal;color:#2f4842}
.sol-dial__label{font:12px var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sol-leaf-d)}
.sol-dial input{width:min(100%,520px);accent-color:#163a35}
.sol-sec .sol-dial__note{margin:0;font-size:15px;color:#26403a;text-align:center}
.sol-yield__side{display:grid;gap:22px}
.sol-yarch{position:relative;margin:0}
.sol-yarch__svg{width:100%;height:auto}
.sol-yarch__arch{transform-box:view-box;transform-origin:300px 184px;transition:transform .8s var(--sol-out)}
.sol-yarch__ref{position:absolute;right:3%;top:calc(109 / 200 * 100%);transform:translateY(-120%);font:12px var(--gft-font-mono);color:#2f4842}
.sol-yarch figcaption{font-size:16px;color:#26403a}
.sol-yarch__pv b{font-size:1.25em;color:#163a35}
.sol-yield__cards{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sol-ycard{padding:20px 24px;background:#f6f4ef;border:1px solid #163a3526;border-top:4px solid #2d6e51}
.sol-ycard--note{border-top-color:#a8691a}
.sol-ycard__k{margin:0 0 8px!important;font:12px var(--gft-font-mono)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--sol-leaf-d)}
.sol-sec .sol-ycard p{font-size:16px;line-height:1.6;color:#26403a}
.sol-ycard a{color:#163a35;font-weight:650}

/* ---------- 6 · ledger interlude (night, full bleed) ---------- */
.sol-ledger{background:var(--sol-night);color:#e7eee9;padding-block:clamp(56px,6vw,96px) clamp(48px,5vw,72px)}
.sol-ledger__atmo{position:absolute;inset:0;background:radial-gradient(ellipse 55% 42% at 50% 58%,#0e4d4a 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 85% 75%,#0b3f3c 0%,transparent 70%);pointer-events:none}
.sol-ledger__in{position:relative}
.sol-ledger__head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:end}
.sol-ledger__head h2{color:#f6f4ef}
.sol-ledger__head p{margin:0;color:#d6e3db}
.sol-lplot{position:relative;height:clamp(230px,23.6vw,340px);margin-top:clamp(24px,3vw,44px)}
.sol-lplot__svg{position:absolute;inset:0;width:100%;height:100%}
.sol-lplot__y{position:absolute;left:1.667%;font:12px var(--gft-font-mono);color:#9fd3b6}
.sol-lplot__y--hi{top:calc(40 / 340 * 100%);transform:translateY(-130%)}
.sol-lplot__y--lo{top:calc(270 / 340 * 100%);transform:translateY(-130%)}
.sol-lplot__low{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) / 340 * 100%);width:0;height:0}
.sol-lplot__low i{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:#6bb68f;box-shadow:0 0 0 8px #6bb68f33}
.sol-lplot__win{position:absolute;left:calc(var(--x) * 1%);top:calc(24 / 340 * 100%);padding:2px 8px;font:12px var(--gft-font-mono);letter-spacing:.04em;color:#e0b989;white-space:nowrap}
.sol-lplot__end{position:absolute;left:calc(var(--x) * 1%);top:calc(110 / 340 * 100%);width:44px;height:96px;margin-left:-22px;cursor:ew-resize;touch-action:none}
.sol-lplot__end i{position:absolute;left:15px;top:8px;width:14px;height:80px;border-radius:3px;background:#0a3d3a;border:1px solid #e0b989}
.sol-lplot__end i::after{content:'';position:absolute;left:5px;top:28px;width:2px;height:22px;background:#e0b989}
.sol-lplot__axis{position:absolute;left:0;right:0;top:calc(272 / 340 * 100%);height:16px;font:12px/16px var(--gft-font-mono);color:#b9cbc3;padding-top:4px}
@supports (animation-timeline:view()){
 :root[data-m-go] .sol-lplot{view-timeline-name:--sol-lplot;view-timeline-axis:block}
 :root[data-m-go] .sol-lplot__draw{animation-name:sol-draw;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--sol-lplot;animation-range-start:entry 30%;animation-range-end:cover 58%}
}
@keyframes sol-draw{from{clip-path:inset(-10% 100% -10% 0)}to{clip-path:inset(-10% 0 -10% 0)}}
.sol-ledger__pair{display:flex;align-items:flex-end;gap:clamp(18px,3vw,48px);margin-top:10px}
.sol-ledger__fig{display:grid;gap:4px}
.sol-ledger__fig span{font:12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#cfdcd4}
.sol-ledger__fig output{font:850 clamp(3.4rem,7.6vw,7.6rem)/.92 var(--gft-font-display);letter-spacing:-.06em;color:#9fd3b6}
.sol-ledger__fig--need output{color:#e0b989}
.sol-ledger__fig i{font:13px var(--gft-font-mono);font-style:normal;color:#cfdcd4}
.sol-ledger__vs{font:300 clamp(3rem,6vw,6rem)/1 var(--gft-font-display);color:#f6f4ef;padding-bottom:.35em}
.sol-ledger__bars{display:grid;gap:8px;padding-inline:1.667%;margin-top:22px}
.sol-ledger__bar{position:relative;height:22px;background:#ffffff12}
.sol-ledger__bar i{position:absolute;inset:0;background:#6bb68f;transform-origin:0 50%;transform:scaleX(var(--w));transition:transform .6s var(--sol-out)}
.sol-ledger__bar--need i{background:#e0b989}
.sol-ledger__bar span{position:absolute;left:10px;top:3px;font:700 12px/16px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#072d2b}
.sol-ledger__foot{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px 48px;margin-top:22px}
.sol-film .sol-ledger__verdict{grid-row:span 2;margin:0;font:800 clamp(1.4rem,2.2vw,2rem)/1.2 var(--gft-font-display);letter-spacing:-.03em;color:#9fd3b6}
.sol-ledger__verdict[data-state=short]{color:#f2b19e}.sol-ledger__verdict[data-state=idle]{color:#e0b989}
.sol-film .solar-formula,.sol-film .solar-live-equation{margin:0;font:13px/1.6 var(--gft-font-mono);color:#cfdcd4}
.solar-live-equation{color:#f6f4ef;padding:6px 10px;border:1px solid #cfdcd444;width:fit-content;max-width:100%;margin-top:6px}
.sol-sec .sol-ledger__note{margin:0;font-size:15px;color:#cfdcd4}

/* ---------- 7 · limits lens (forest) ---------- */
.sol-limits{background:var(--sol-forest);color:#e7eee9;padding-block:clamp(56px,6vw,96px) clamp(40px,4vw,64px)}
.sol-limits__grid{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,4vw,72px);align-items:start}
.sol-tab-radio{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.sol-lens-col{display:grid;gap:14px;justify-items:center}
.sol-lens{width:min(100%,560px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 45%,#0f4a46,#04221f 75%);box-shadow:0 0 0 1px #e0b98955,0 30px 80px -40px #000}
.sol-lens__svg{width:100%;height:100%;display:block}
.sol-lens__world{transform-box:view-box;transform-origin:0 0;transition:transform 820ms var(--sol-glide)}
.sol-lens__strip{transform-box:view-box;transform-origin:300px 360px;transition:transform 700ms var(--sol-glide),opacity 500ms}
.sol-lens__energy,.sol-lens__power,.sol-lens__site,.sol-lens__cost{opacity:0;transition:opacity 420ms 200ms}
.sol-lens__power{transform:translate(var(--ex),var(--ey))}
.sol-lens__t{font:1.3px var(--gft-font-mono);fill:#f6f4ef}
.sol-lens__cost{transform-box:view-box;transform-origin:300px 400px}
.sol-film .sol-lens__cap{grid-area:auto;margin:0;font:13px/1.55 var(--gft-font-mono);color:#d6e3db;text-align:center;max-width:52ch}
.sol-lens-col .sol-lens__cap{display:none}
.sol-limits__side{display:grid;gap:22px}
.sol-limits__side h2{color:#f6f4ef}
.sol-tablist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sol-tablist label{display:grid;gap:4px;min-height:44px;padding:12px 14px;border:1px solid #cfdcd455;cursor:pointer}
.sol-tablist b{font:12px var(--gft-font-mono);color:#9fc7b3}
.sol-tablist span{font-size:17px;font-weight:750}
.sol-tablist em{font:12px var(--gft-font-mono);font-style:normal;color:#e0b989}
.sol-tablist em[data-state=in]{color:#9fd3b6}
.sol-panes{display:grid}
.sol-pane{grid-area:1/1;visibility:hidden;opacity:0;transition:opacity 400ms,visibility 0s linear 400ms}
.sol-pane h3{font-size:clamp(1.4rem,2vw,1.9rem);margin:0 0 10px;color:#f6f4ef}
.sol-sec .sol-pane p{font-size:16px;color:#d6e3db}
.sol-pane__kv{display:flex;flex-wrap:wrap;gap:12px 32px;margin:14px 0 0}
.sol-pane__kv dt{font:12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#b9cbc3;display:flex;gap:6px;align-items:center}
.sol-pane__kv dd{margin:2px 0 0;font:800 26px var(--gft-font-display);letter-spacing:-.03em;color:#f6f4ef}
.sol-cost__key i{width:12px;height:12px;background:var(--c)}
.sol-cost__key [data-k=solar]{--c:#e0b989}.sol-cost__key [data-k=battery]{--c:#6bb68f}.sol-cost__key [data-k=fixed]{--c:#b4c5c3}
.sol-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:12px 0 0;padding:0}
.sol-chips li{padding:4px 10px;border:1px solid #cfdcd455;font-size:13px;color:#e7eee9}
.sol-limits__grid:has(#sol-lt-0:checked) :is(.sol-pane,.sol-lens__cap)[data-on="0"],.sol-limits__grid:has(#sol-lt-1:checked) :is(.sol-pane,.sol-lens__cap)[data-on="1"],.sol-limits__grid:has(#sol-lt-2:checked) :is(.sol-pane,.sol-lens__cap)[data-on="2"],.sol-limits__grid:has(#sol-lt-3:checked) :is(.sol-pane,.sol-lens__cap)[data-on="3"]{visibility:visible;opacity:1;transition-delay:0s;display:block}
.sol-limits__grid:has(#sol-lt-0:checked) label[for=sol-lt-0],.sol-limits__grid:has(#sol-lt-1:checked) label[for=sol-lt-1],.sol-limits__grid:has(#sol-lt-2:checked) label[for=sol-lt-2],.sol-limits__grid:has(#sol-lt-3:checked) label[for=sol-lt-3]{background:#f6f4ef;color:#072d2b;border-color:#f6f4ef}
.sol-limits__grid:has(#sol-lt-0:checked) label[for=sol-lt-0] :is(b,em),.sol-limits__grid:has(#sol-lt-1:checked) label[for=sol-lt-1] :is(b,em),.sol-limits__grid:has(#sol-lt-2:checked) label[for=sol-lt-2] :is(b,em),.sol-limits__grid:has(#sol-lt-3:checked) label[for=sol-lt-3] :is(b,em){color:#5e3c0b}
.sol-limits__grid:has(.sol-tab-radio:focus-visible) .sol-tablist{outline:3px solid #e0b989;outline-offset:4px}
.sol-limits__grid:has(#sol-lt-0:checked) .sol-lens__energy{opacity:1}
.sol-limits__grid:has(#sol-lt-1:checked) .sol-lens__world{transform:translate(300px,300px) scale(12) translate(calc(-1 * var(--ex)),calc(-1 * var(--ey)))}
.sol-limits__grid:has(#sol-lt-1:checked) .sol-lens__power{opacity:1}
.sol-limits__grid:has(#sol-lt-2:checked) .sol-lens__world{transform:translate(300px,300px) scale(1.75) translate(-300px,-286px)}
.sol-limits__grid:has(#sol-lt-2:checked) .sol-lens__site{opacity:1}
.sol-limits__grid:has(#sol-lt-3:checked) .sol-lens__strip{transform:scaleY(.06);opacity:.35}
.sol-limits__grid:has(#sol-lt-3:checked) .sol-lens__cost{opacity:1}
.sol-limits__grid:not(:has(#sol-lt-1:checked)) .sol-surge,.sol-limits__grid:not(:has(#sol-lt-2:checked)) :is(.sol-shade,.sol-rain){animation-name:none!important}
.sol-limits[data-moving] [data-m-live]{animation-play-state:paused!important}
:root[data-m-go] .sol-limits__grid[data-m-in] .sol-tablist label{animation-name:sol-shed;animation-duration:620ms;animation-timing-function:var(--sol-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go] .sol-limits__grid[data-m-in] .sol-tablist label:nth-child(even){animation-name:sol-shed2}
:root[data-m-go] .sol-limits__grid[data-m-in] .sol-lens{animation-name:sol-lensin;animation-duration:820ms;animation-delay:120ms;animation-timing-function:var(--sol-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes sol-shed{from{opacity:0;transform:translateY(-12px)}}
@keyframes sol-shed2{from{opacity:0;transform:translateY(12px)}}
@keyframes sol-lensin{from{opacity:0;filter:blur(8px)}}
.sol-zoomout{display:none}

/* ---------- 8 · closing: the commissioning strip (night) ---------- */
.sol-close{background:var(--sol-night);color:#e7eee9;padding-top:clamp(40px,4vw,64px)}
.sol-ruler--close{margin-bottom:clamp(20px,2vw,32px)}
.sol-close__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:end}
.sol-close__head h2{color:#f6f4ef;max-width:20ch;font-size:clamp(2rem,3.4vw,3.5rem)}
.sol-sec .sol-close__head .sol-lede{margin-top:16px;color:#d6e3db;font-size:clamp(1.05rem,1.2vw,1.15rem)}
.sol-duty{display:grid;gap:14px}
.sol-meter{display:grid;gap:14px;padding:clamp(18px,2vw,28px);border:1px solid #e0b98966;background:linear-gradient(135deg,#0b3f3c,#072d2b)}
.sol-meter .solar-step{color:#e0b989;margin:0}
.sol-meter__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sol-meter__f{display:grid;gap:8px;font-size:15px;color:#e7eee9}
.sol-meter__box{display:flex;align-items:baseline;gap:10px;border-bottom:2px solid #e0b989}
.sol-meter__box input{width:100%;min-width:0;min-height:64px;padding:4px 0;border:0;background:transparent;color:#f6f4ef;font:800 clamp(2.2rem,3.6vw,3.4rem)/1 var(--gft-font-display);letter-spacing:-.04em;-moz-appearance:textfield}
.sol-meter__box input[aria-invalid=true]{color:#f2b19e}
.sol-meter__box i{font:13px var(--gft-font-mono);font-style:normal;color:#cfdcd4;white-space:nowrap}
.sol-film .sol-meter__verdict{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:0;color:#9fd3b6;max-width:none}
.sol-meter__verdict b{font:900 clamp(1.8rem,2.8vw,2.6rem)/1 var(--gft-font-display);letter-spacing:-.02em;text-transform:uppercase}
.sol-meter__verdict span{font-size:16px;color:#d6e3db}
.sol-meter__verdict[data-state=short]{color:#f2b19e}.sol-meter__verdict[data-state=idle]{color:#e0b989}
.sol-duty .solar-step{color:#9fc7b3}
.sol-duty__btns{display:flex;flex-wrap:wrap;gap:8px}
.sol-duty__btns button[aria-pressed=true]{background:#e0b989;border-color:#e0b989;color:#072d2b}
.sol-duty__figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.sol-duty__figs dt{font:12px var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#b9cbc3}
.sol-duty__figs dd{margin:2px 0 0;font:800 clamp(1.5rem,2.2vw,2.1rem)/1.05 var(--gft-font-display);letter-spacing:-.04em;color:#f6f4ef}
.sol-duty__figs i{font:12px var(--gft-font-mono);font-style:normal;color:#cfdcd4;letter-spacing:0}
.sol-close__run{position:relative;--sol-strip-h:clamp(230px,21vw,330px);padding-bottom:64px}
.sol-strip{position:relative;margin:clamp(20px,2.4vw,36px) 0 0}
.sol-strip__plot{position:relative;height:var(--sol-strip-h)}
.sol-strip__svg{position:absolute;inset:0;width:100%;height:100%}
.sol-strip__svg .sol-th{stroke-width:8}
.sol-strip__axis{position:absolute;left:0;right:0;bottom:-18px;height:16px;font:12px/16px var(--gft-font-mono);color:#b9cbc3}
.sol-strip .sol-win{top:calc(20 / 300 * 100%);bottom:calc(12 / 300 * 100%)}
.sol-strip[data-landing] .sol-strip__scan{animation-play-state:paused}
.sol-stamp{position:absolute;left:calc(var(--x) * 1%);top:4%;z-index:4;pointer-events:none;transform:translateX(-50%) rotate(-7deg)}
.sol-stamp__in{display:grid;justify-items:center;padding:6px 14px 5px;border:3px solid #9fd3b6;background:#072d2bdd;color:#9fd3b6}
.sol-stamp b{display:block;font:900 clamp(1.4rem,2.4vw,2.2rem)/1 var(--gft-font-display);letter-spacing:.04em;text-transform:uppercase}
.sol-stamp i{font:12px var(--gft-font-mono);font-style:normal;letter-spacing:.04em}
.sol-strip[data-state=short] .sol-stamp__in{border-color:#f2b19e;color:#f2b19e}
.sol-strip[data-state=idle] .sol-stamp__in{border-color:#e0b989;color:#e0b989}
.sol-film .sol-strip__verdict{display:flex;gap:10px;align-items:center;margin:30px var(--sol-gut) 0;font:800 18px var(--gft-font-display);color:#9fd3b6}
.sol-strip__verdict[data-state=short]{color:#f2b19e}.sol-strip__verdict[data-state=idle]{color:#e0b989}
.sol-hangers{display:block;width:100%;height:56px}
.sol-stations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-inline:1.667%}
.sol-station{display:grid;gap:8px;align-content:start;padding:16px 16px 14px;background:#0b3f3c;border:1px solid #cfdcd433;border-top:3px solid #6bb68f;color:inherit;text-decoration:none;min-width:0}
a.sol-station:hover,a.sol-station:focus-visible{background:#0e4d4a}
.sol-station h3{font-size:clamp(19px,1.6vw,23px);margin:0;color:#f6f4ef}
.sol-station .solar-step{color:#9fc7b3}
.sol-sec .sol-station__note{margin:0;font-size:16px;line-height:1.55;color:#d6e3db}
.sol-station__tick{position:relative;display:block;height:8px;background:#ffffff14;overflow:hidden}
.sol-station__tick u{position:absolute;inset:0;background:#e0b989;transform-origin:0 0;transform:translateX(calc(var(--a) * 100%)) scaleX(var(--w));transition:transform .5s var(--sol-out)}
.sol-film .sol-station__tile{display:flex;gap:8px;align-items:center;margin:0;font:14px/1.45 var(--gft-font-mono);color:#f6f4ef}
.sol-station__tile i{width:8px;height:8px;border-radius:50%;background:#6bb68f;flex:none}
.sol-strip__caption{margin:22px auto 0;width:min(1440px,calc(100% - 96px));max-width:none!important;font-size:16px!important;color:#d6e3db}
.sol-strip__caption strong{color:#f6f4ef}
.sol-close__bottom{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px 48px;align-items:end;margin-top:22px}
.sol-close__mk{margin:0!important;font:12px var(--gft-font-mono)!important;letter-spacing:.1em;text-transform:uppercase;color:#9fc7b3}
.sol-sec .sol-close__method p{font-size:16px;color:#d6e3db;max-width:76ch}
.sol-film .sol-close__method .solar-note{color:#cfdcd4;margin-top:8px;font-size:14px}
.sol-close__method a{color:#e0b989}
.sol-close__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.sol-film .sol-cta{display:inline-flex;align-items:center;gap:14px;min-height:60px;padding:14px 30px;border-radius:999px;font-size:17px;text-decoration:none;transition:background .25s,transform .25s var(--sol-out)}
.sol-film .sol-cta:hover{transform:translateY(-2px);background:#ffffff14}
.sol-cta--primary{background:#e0b989!important;color:#072d2b!important;border-color:#e0b989!important}
.sol-film .sol-cta--primary:hover{background:#f0cb9c!important}
.sol-bridge{position:absolute;inset:0;pointer-events:none}
.sol-bridge__v{position:absolute;right:0;top:calc(var(--sol-strip-h) * .873 + clamp(20px,2.4vw,36px));bottom:22px;width:2px;background:linear-gradient(#6bb68fcc,#6bb68f)}
.sol-bridge__h{position:absolute;right:0;bottom:22px;left:var(--sol-gut);height:2px;background:linear-gradient(90deg,#e0b989,#6bb68f);--sol-run-x:calc(100vw - 96px)}
.sol-bridge__h::before{content:'';position:absolute;left:-5px;top:-5px;width:12px;height:12px;border-radius:50%;background:#e0b989}
.sol-bridge__h b{position:absolute;right:0;top:-3px;width:8px;height:8px;border-radius:50%;background:#f6f4ef}

/* ---------- tablet ---------- */
@media (max-width:1100px){
 .sol-bench__head,.sol-calc__head,.sol-register__head,.sol-ledger__head,.sol-close__top{grid-template-columns:minmax(0,1fr);gap:20px}
 .sol-bench__deck{grid-template-columns:minmax(0,1fr)}
 .sol-reg{grid-template-columns:minmax(0,1fr) minmax(260px,.6fr)}
 .sol-drawer{grid-template-columns:minmax(0,1fr)}
 .sol-yield__grid,.sol-limits__grid{grid-template-columns:minmax(0,1fr)}
 .sol-yield__cards{grid-template-columns:1fr 1fr}
 .sol-stations{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sol-hangers{display:none}
 .sol-close__bottom{grid-template-columns:minmax(0,1fr)}
 .sol-locator__grid{grid-template-columns:minmax(0,1fr)}
 .sol-yield__grid{align-items:start}
}
@media (max-width:900px){
 .sol-steps.mw-steps--flip{grid-template-columns:minmax(0,1fr)}
 .sol-stg__formula{display:none}
 .sol-steps__track>li:last-child{min-height:90svh}
 .sol-close__actions{justify-content:flex-start}
 .sol-ro{width:min(220px,23vw)}
}

/* ---------- phone ---------- */
@media (max-width:640px){
 .sol-wrap,.sol-strip__caption{width:calc(100% - 32px)}
 .sol-film{--sol-gut:16px}
 .sol-sec h2{font-size:clamp(2rem,9vw,2.6rem)}
 .sol-sec p{font-size:16px}
 [data-splash=solar-storage] .gft-splash__structure{height:auto;inset:0}
 [data-splash=solar-storage] .gft-splash__content{display:block;padding-top:56px;padding-bottom:calc(84.6vw + 232px)}
 [data-splash=solar-storage] h1{font-size:clamp(2.7rem,12vw,3.6rem);line-height:1.02}
 [data-splash=solar-storage] .gft-splash__lede{margin-top:18px;font-size:15px}
 [data-splash=solar-storage] .gft-splash__data{display:none}
 [data-splash=solar-storage] .gft-splash__caption{max-width:22ch}
 .sol-plate--d{display:none}.sol-plate--p{display:block}
 .sol-loom{bottom:78px}
 .sol-plate__lbl--arch{display:none}
 .sol-plate__lbl--out{left:auto;right:12px}
 .sol-plate__tag{right:auto;left:12px}
 .sol-stg__head .sol-k{display:none}
 .sol-stg__head{gap:6px 12px}
 .sol-rail__track input{left:calc(3.5657% - 12px);width:calc(92.8686% + 24px)}
 .sol-rail__row{display:grid;gap:8px;padding-inline:16px}
 .sol-rail__hint{display:none}
 .sol-rail__read{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
 .sol-rail__read dd{font-size:20px}
 .sol-ruler span:nth-of-type(even),.sol-handdown span:nth-of-type(even),.sol-chart__axis span:nth-child(even),.sol-strip__axis span:nth-child(even),.sol-lplot__axis span:nth-child(even){display:none}
 .sol-chart__plot{aspect-ratio:auto;height:300px;min-height:0;--vby:118;--vbh:442}
 .sol-th{stroke-width:4}
 .sol-ro-set{position:static;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px 0}
 .sol-ro{position:static;transform:none;width:auto}
 .sol-leader{display:none}
 .sol-chart__lbl--ab{display:none}
 .sol-win__end{height:72px}
 .sol-key{padding-inline:16px;gap:6px 14px}
 .solar-instant{grid-template-columns:1fr 1fr}
 .sol-deck__top{display:grid}
 .sol-ab{position:sticky;top:calc(var(--header,64px) + 6px);z-index:5;padding:8px;background:#062a28;border:1px solid #cfdcd433}
 .sol-ab__state{display:none}
 .sol-tabs__rail{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
 .sol-tabs__rail button{scroll-snap-align:start;flex:none}
 .solar-input-pair{grid-template-columns:1fr 84px}
 .sol-steps .mw-steps__visual{top:var(--header,64px);padding-block:6px;background:var(--sol-deep)}
 .sol-stg-wrap{padding:8px 10px;gap:6px;max-height:38svh;overflow:hidden}
 .sol-stg__under,.sol-stg__ledger,.sol-stg__key,.sol-rail2 span{display:none}
 .sol-stg__fig b{font-size:1.5rem}
 .sol-stg__t,.sol-stg__tk{font-size:20px}.sol-stg__tv{font-size:24px}
 .sol-steps__track>li{min-height:0;padding-block:2rem}
 .sol-steps__track>li:last-child{min-height:90svh}
 .sol-reg{grid-template-columns:minmax(0,1fr)}
 .sol-locator{position:static}
 .sol-locator__in{padding:18px 16px}
 .sol-card{padding:12px 14px 10px}
 .sol-drawers{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
 .sol-drawers label{scroll-snap-align:start;flex:none}
 .sol-dial__face{width:80%}
 .sol-yield__cards{grid-template-columns:minmax(0,1fr)}
 .sol-ledger__pair{display:grid;justify-items:start;gap:4px}
 .sol-ledger__vs{padding:0;font-size:2.6rem}
 .sol-lplot{height:30svh}
 .sol-lplot__win{display:none}
 .sol-ledger__foot{grid-template-columns:minmax(0,1fr)}
 .sol-tablist{grid-template-columns:1fr 1fr}
 .sol-lens{width:100%;max-width:44svh}
 .sol-lens__t{font-size:1.9px}
 .sol-close__run{--sol-strip-h:220px}
 .sol-meter__row{grid-template-columns:minmax(0,1fr)}
 .sol-locator__grid{grid-template-columns:minmax(0,1fr)}
 .sol-stg__formula{display:none}
 .sol-film .sol-cta{width:100%;justify-content:center}
 .sol-duty__btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .sol-duty__btns button{padding-inline:6px;font-size:13px}
 .sol-stamp{left:auto!important;right:12px;transform:rotate(-6deg)}
 .sol-stations{grid-template-columns:minmax(0,1fr);padding-inline:16px;border-left:2px solid #6bb68f55;margin-left:16px}
 .sol-strip__verdict{margin-inline:16px}
 .sol-bridge__v{right:6px}.sol-bridge__h{right:6px;left:16px}
}
@media (prefers-reduced-motion:reduce){.sol-film *,[data-splash=solar-storage] *{transition-duration:0s!important}}
