@import url("https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62..125,100..900&family=Figtree:ital,wght@0,300..900;1,300..900&family=Roboto+Mono:wght@400;500;600&display=swap");:root{--font-display:"Archivo","Arial Narrow",system-ui,sans-serif;--font-text:"Figtree",system-ui,-apple-system,sans-serif;--font-data:"Roboto Mono",ui-monospace,Menlo,monospace;--font-marketing:var(--font-display);--font-technical-cond:var(--font-display);--font-technical:var(--font-text);--font-accent:var(--font-text);--font-event:var(--font-text);--font-annot:var(--font-data);--wd-wide:122;--wd-mid:112;--wd-norm:100;--wd-cond:87;--tr-display:-.018em;--tr-head:-.012em;--tr-text:0em;--tr-data:.02em;--tr-label:.1em;--tr-event:-.005em;--w-text:450;--w-text-dark:500;--w-text-em:600;--w-data:400;--w-data-em:500;--w-display:800;--w-display-2:700}.t-display{font-family:var(--font-display);font-variation-settings:"wdth" var(--wd-wide),"wght" var(--w-display);font-size:var(--fs-h1);line-height:1.02;letter-spacing:var(--tr-display);margin:0}.t-h2{font-family:var(--font-display);font-variation-settings:"wdth" var(--wd-mid),"wght" var(--w-display-2);font-size:var(--fs-h2);line-height:1.14;letter-spacing:var(--tr-head);margin:0}.t-h3{font-family:var(--font-display);font-variation-settings:"wdth" var(--wd-norm),"wght" var(--w-display-2);font-size:var(--fs-h3);line-height:1.25;margin:0}.t-deck{font-size:var(--fs-deck);line-height:1.5}.t-body,.t-deck{font-family:var(--font-text);font-weight:var(--w-text-dark);margin:0}.t-body{font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty}.t-head-tech{font-family:var(--font-display);font-variation-settings:"wdth" var(--wd-cond),"wght" 600;font-size:var(--fs-h3);letter-spacing:.01em;margin:0}.t-head-tech-lg{font-family:var(--font-display);font-variation-settings:"wdth" var(--wd-norm),"wght" var(--w-display);font-size:var(--fs-h1);line-height:1.06;letter-spacing:var(--tr-head);margin:0}.t-body-tech{font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty}.t-body-tech,.t-small{font-family:var(--font-text);font-weight:var(--w-text);margin:0}.t-small{font-size:var(--fs-small);line-height:1.5}.t-micro{font-family:var(--font-text);font-weight:500;font-size:var(--fs-micro);line-height:1.45;margin:0}.t-data{font-family:var(--font-data);font-weight:var(--w-data);letter-spacing:var(--tr-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.t-data,.t-label{font-style:normal}.t-label{font-weight:var(--w-data-em);font-size:var(--fs-kicker);letter-spacing:var(--tr-label);text-transform:uppercase}.t-annot,.t-label{font-family:var(--font-data)}.t-annot{font-weight:400;font-size:var(--fs-micro);letter-spacing:.02em;font-style:normal}.t-stat{font-family:var(--font-display);font-variation-settings:"wdth" var(--wd-wide),"wght" var(--w-display);font-size:var(--fs-stat);line-height:.92;letter-spacing:var(--tr-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t-cond{font-family:var(--font-display);font-variation-settings:"wdth" var(--wd-cond),"wght" 600;letter-spacing:.01em}.t-accent{font-size:var(--fs-small);letter-spacing:.01em}.t-accent,.t-event{font-family:var(--font-text);font-weight:600}.t-event{letter-spacing:var(--tr-event);line-height:1.15}.t-event-num{font-family:var(--font-data);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.surface-dark .m-deck p,.surface-dark .m-web p,.surface-dark .t-body-tech,.surface-dark .t-small,.surface-site .t-body-tech,.surface-site .t-small{font-weight:var(--w-text-dark)}.t-annot em,.t-annot i,.t-data em,.t-data i,.t-label em,.t-label i{font-style:normal}.d-card{--fs-kicker:6px;--fs-h1:13px;--fs-h2:10.5px;--fs-h3:9px;--fs-deck:9px;--fs-body:8px;--fs-small:7.2px;--fs-micro:6.4px;--fs-stat:16px;--fs-read:11px;--lh-body:1.4;--pad:6mm;--gap:3mm;--band:4mm;--icon:12px}.d-handbook{--fs-kicker:8.5px;--fs-h1:26px;--fs-h2:18px;--fs-h3:13.5px;--fs-deck:13.5px;--fs-body:12px;--fs-small:10.5px;--fs-micro:9px;--fs-stat:38px;--fs-read:17px;--lh-body:1.5;--pad:14px;--gap:12px;--band:26px;--icon:16px}.m-brochure,.m-card,.m-deck,.m-handbook,.m-letter,.m-web{font-family:var(--font-text);font-weight:var(--w-text-dark)}.m-brochure h1,.m-brochure h2,.m-brochure h3,.m-card h1,.m-deck h1,.m-deck h2,.m-deck h3,.m-handbook h2,.m-handbook h3,.m-letter h1,.m-letter h2,.m-letter h3,.m-web h1,.m-web h2,.m-web h3{font-family:var(--font-display);font-variation-settings:"wdth" var(--wd-mid),"wght" var(--w-display-2);letter-spacing:var(--tr-head)}:root{--w-reg:400;--w-med:500;--w-semi:600;--w-bold:700;--track-tight:-.018em;--track-wide:.12em;--icon-radius:4;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s24:96px;--radius-btn:9999px;--radius-btn-soft:24px;--radius-card:22px;--radius-panel:26px;--radius-hero:44px;--radius-input:4px;--rule-hair:1.5px;--rule:2px;--rule-heavy:3px;--fig-blue-deep:#005BE2;--fig-blue:#029CF4;--fig-cyan:#00B4FF;--fig-slate:#10384F;--fig-navy:#00131E;--fig-navy-deep:#02154D;--fig-pale:#EAF7FF;--fig-red:#FF4E4E;--fig-yellow:#FFD21D;--fig-shadow:rgba(16,24,40,0.05);--fig-grad:linear-gradient(-46.368deg,#00B4FF 2.73%,#005BE2 56.23%,#02154D 99.04%);--fig-grad-steep:linear-gradient(-85.646deg,#00B4FF 1.64%,#005BE2 56.37%,#02154D 100.17%);--fig-grad-btn:linear-gradient(-74.647deg,#00B4FF 1.80%,#005BE2 56.35%,#02154D 100.01%);--fig-grad-short:linear-gradient(-46.368deg,#00B4FF 2.73%,#005BE2 56.23%);--fig-grad-tint:linear-gradient(-65.209deg,rgba(0,180,255,.1) 1.84%,rgba(0,91,226,.1) 56.23%,rgba(2,21,77,.1) 99.76%);--fig-grad-navy:linear-gradient(-86.168deg,#012235 1.64%,#011A31 56.37%,#011629 84.05%,#011425 100.17%);--fig-container:1440px;--fig-column:102px;--fig-gutter:20px;--fig-columns:12}.surface-paper{--surface:#FFFFFF;--surface-raised:#F4F3EF;--surface-sunken:#E9E7E1;--hairline:#D5D2CA;--hairline-strong:#A9A59C;--ink:#16181A;--ink-muted:#4A473F;--ink-faint:#6E6A62;--brand:#00669F;--brand-quiet:#E4F0F9;--accent:#007363;--accent-quiet:#E2F0ED;--positive:#007363;--positive-quiet:#E2F0ED;--negative:#A6192E;--negative-quiet:#F7E7E9;--data:#4A5A6B;--data-quiet:#ECEEF0}.surface-dark,.surface-paper{background:var(--surface);color:var(--ink)}.surface-dark{--surface:#0E1013;--surface-raised:#171A1E;--surface-sunken:#08090B;--hairline:#262A2F;--hairline-strong:#3A4048;--ink:#F2F4F6;--ink-muted:#B4BAC1;--ink-faint:#8A9199;--brand:#3FB9F7;--brand-quiet:#10222E;--accent:#23C7B0;--accent-quiet:#0C241F;--positive:#23C7B0;--positive-quiet:#0C241F;--negative:#FF7A85;--negative-quiet:#2A1417;--data:#9AA7B4;--data-quiet:#1A1D21}.d-web{--fs-kicker:12px;--fs-h1:66px;--fs-h2:26px;--fs-h3:19px;--fs-deck:20px;--fs-body:16px;--fs-small:14px;--fs-micro:12px;--fs-stat:56px;--fs-read:26px;--lh-body:1.6;--pad:32px;--gap:24px;--band:96px;--icon:24px}.d-print{--fs-kicker:8px;--fs-h1:23px;--fs-h2:16.5px;--fs-h3:12.7px;--fs-deck:12.7px;--fs-body:12.67px;--fs-small:10.7px;--fs-micro:9.33px;--fs-stat:34px;--fs-read:16px;--lh-body:1.5;--pad:18px;--gap:14px;--band:34px;--icon:18px;--wd-wide:100;--wd-mid:87}.d-slide{--fs-kicker:16px;--fs-h1:62px;--fs-h2:40px;--fs-h3:26px;--fs-deck:26px;--fs-body:22px;--fs-small:18px;--fs-micro:15px;--fs-stat:96px;--fs-read:38px;--lh-body:1.45;--pad:44px;--gap:32px;--band:56px;--icon:34px}svg.en-icon{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;width:var(--icon);height:var(--icon)}svg.en-icon .dot{fill:currentColor;stroke:none}.surface-site{--surface:#101627;--surface-raised:#161E33;--surface-sunken:#0C1120;--hairline:#1E2942;--hairline-strong:#2C3A5C;--ink:#F2F4F6;--ink-muted:#B4BAC1;--ink-faint:#8A9199;--brand:#3FB9F7;--brand-quiet:#14243D;--brand-hi:#8FD4FF;--cta:#005BE2;--cta-deep:#0048B4;--measure:#3FB9F7;--energy:#F2A93B;--saving:#23C7B0;--loss:#FF7A85;--baseline:#C9B89A;--energy-quiet:#2B2113;--saving-quiet:#0C2A25;--loss-quiet:#2E1519;--grad-brand:linear-gradient(100deg,#2563EB,#14B8A6);--positive:var(--saving);--negative:var(--loss);--data:#7FA6BC;--data-quiet:#14243D;background:var(--surface);color:var(--ink)}.band-sunken{background:var(--surface-sunken)}.band-raised{background:var(--surface-raised)}:root{--m-press:80ms;--m-hover:140ms;--m-state:260ms;--m-enter:420ms;--m-count:900ms;--m-ease:cubic-bezier(.32,.72,0,1);--m-ease-io:cubic-bezier(.4,0,.2,1);--m-stagger:40ms}.demo{background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-card);font-family:var(--font-text);font-weight:var(--w-text-dark);color:var(--ink);display:flex;flex-direction:column;overflow:hidden}.demo__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s6);padding:var(--s6) var(--s8) var(--s5);border-bottom:1px solid var(--hairline)}.demo__title{font-family:var(--font-technical-cond);font-variation-settings:"wdth" 100,"wght" 600;font-size:19px;line-height:1.2;margin:0;color:var(--ink);letter-spacing:-.005em}.demo__sub{font-family:var(--font-text);font-weight:450;font-size:13px;color:var(--ink-muted);margin:4px 0 0;letter-spacing:0}.demo__slot{flex:0 0 20em;font-size:12.5px;display:flex;justify-content:flex-end;text-align:right}.demo__honesty{font-family:var(--font-text);font-weight:450;font-size:12.5px;color:var(--ink-faint);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.demo__honesty:before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid var(--brand);display:block;flex-shrink:0}.demo__body{padding:var(--s8);display:flex;flex-direction:column;gap:var(--s6);flex:1 1}.demo__foot{padding:var(--s5) var(--s8);border-top:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.demo__foot .note{font-family:var(--font-text);font-weight:450;font-size:12.5px;color:var(--ink-faint)}.focal{background:var(--brand-quiet);border:1px solid var(--brand);border-radius:18px;padding:var(--s6) var(--s8);display:flex;align-items:baseline;gap:var(--s8);flex-wrap:wrap}.focal .fig{font-size:64px;font-weight:500;color:var(--brand);line-height:.95}.focal .fig u{font-size:.28em;color:var(--ink-muted)}.focal__k{font-family:var(--font-text);font-weight:600;font-size:14px;color:var(--ink);display:block;margin-bottom:6px}.focal__side{display:flex;gap:var(--s8);flex-wrap:wrap;margin-left:auto}.focal__side .fig{font-size:26px;color:var(--ink)}.panel{border:1px solid var(--hairline);border-radius:14px;padding:var(--s5) var(--s6);display:flex;flex-direction:column;gap:var(--s3);background:transparent}.panel--sunken{background:var(--surface-sunken)}.lbl{font-family:var(--font-text);font-weight:600;font-size:12.5px;color:var(--ink-muted);display:block;letter-spacing:0;text-transform:none}.lbl--quiet{font-weight:450;color:var(--ink-faint)}.cap{line-height:1.5;margin:0}.cap,.legend{font-family:var(--font-text);font-weight:450;font-size:12.5px;color:var(--ink-faint)}.legend{display:flex;gap:var(--s5);flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:7px}.legend i{width:16px;height:0;border-top:2px solid;display:block}.fig{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";color:var(--ink);letter-spacing:-.01em;line-height:1;font-style:normal}.fig u{font-size:.42em;font-weight:400;color:var(--ink-faint);text-decoration:none;margin-left:.3em;letter-spacing:.01em}.fig--headline{font-size:44px;font-weight:500}.fig--secondary{font-size:24px;font-weight:500}.fig--cell{font-size:15px;font-weight:400}.fig--axis{font-size:11px;fill:var(--ink-faint)}.fig--axis,.fig--id{font-weight:400;color:var(--ink-faint)}.fig--id{font-size:12px;letter-spacing:.02em}.fig--time{font-size:12.5px;font-weight:400;color:var(--ink-muted)}.state{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-text);font-weight:500;font-size:12.5px;white-space:nowrap;text-transform:none;letter-spacing:0}.state:before{content:"";width:9px;height:9px;border-radius:2px;display:block;flex-shrink:0;transition:background-color var(--m-hover) var(--m-ease-io)}.state--running:before{background:var(--positive)}.state--running{color:var(--positive)}.state--idle:before{background:var(--data)}.state--idle{color:var(--data)}.state--shed:before{background:transparent;border:1.5px dashed var(--data)}.state--shed{color:var(--data)}.state--fault:before{background:var(--negative)}.state--fault{color:var(--negative)}.state--offline:before{background:transparent;border:1.5px solid var(--ink-faint)}.state--offline{color:var(--ink-faint)}.state--policy:before{background:transparent;border:1.5px solid var(--negative)}.state--policy{color:var(--negative)}.demo[data-alert=fault] .state--policy,.demo[data-alert=fault] .state--running,.demo[data-alert=policy] .state--running{color:var(--data)}.demo[data-alert=fault] .state--running:before,.demo[data-alert=policy] .state--running:before{background:var(--data)}.demo[data-alert=fault] .state--policy:before{border-color:var(--data)}.chart{width:100%;height:auto;display:block;overflow:visible;max-width:var(--chart-w,none)}.chart--compact{--chart-w:280px}.chart--wide{--chart-w:760px}.chart .axis,.chart .curve,.chart .grid,.chart .lead,.chart .threshold{vector-effect:non-scaling-stroke}.chart .grid{stroke:currentColor;stroke-width:1;opacity:.13;fill:none}.chart .axis{stroke:currentColor;stroke-width:1.5;opacity:.4;fill:none}.chart .curve{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;transition:d var(--m-state) var(--m-ease)}.chart .curve--baseline{stroke:var(--data);stroke-width:1.5;stroke-dasharray:4 4}.chart .terminal{fill:var(--brand);transition:cy var(--m-state) var(--m-ease)}.chart .threshold{fill:none;stroke:var(--negative);stroke-width:1.5;stroke-dasharray:6 5}.chart .lead{fill:none}.chart .lead,.chart .tick{stroke:var(--ink-faint);stroke-width:1}.chart .callout{font-family:var(--font-text);font-size:12px;font-weight:500;fill:var(--ink-muted)}.schem{width:100%;height:auto;display:block;overflow:visible}.schem .bus{stroke:var(--ink-faint);stroke-width:2;fill:none}.schem .drop{stroke:var(--hairline-strong);stroke-width:1.5;fill:none;transition:stroke var(--m-state) var(--m-ease-io)}.schem .drop.on{stroke:var(--brand)}.schem .drop.off{stroke:var(--hairline-strong);stroke-dasharray:3 3}.schem .term{fill:var(--surface-raised);stroke:var(--hairline-strong);stroke-width:1.5;transition:fill var(--m-state) var(--m-ease-io),stroke var(--m-state) var(--m-ease-io)}.schem .term.on{fill:var(--brand);stroke:var(--brand)}.schem .term.alert{fill:var(--negative);stroke:var(--negative)}.schem .term.off{fill:transparent;stroke:var(--ink-faint)}.schem text{font-family:var(--font-data);font-size:10px;fill:var(--ink-faint)}.bars{display:flex;align-items:flex-end;gap:3px;height:120px}.bars__col{flex:1 1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.bars__seg{display:block;border-radius:0;transition:height var(--m-state) var(--m-ease)}.bars__seg--load{background:var(--brand)}.bars__seg--solar{background:var(--data)}.bars__seg--breach{background:var(--negative)}.heat{display:flex;gap:2px;height:34px;align-items:flex-end}.heat i{flex:1 1;display:block;height:34%;background:var(--data-quiet);border-bottom:2px solid var(--hairline-strong);transition:height var(--m-state) var(--m-ease),background-color var(--m-state) var(--m-ease-io)}.heat i.on{height:68%;background:var(--brand-quiet);border-bottom:3px solid var(--brand)}.heat i.pk{height:100%;background-color:var(--negative-quiet);border-bottom:4.5px solid var(--negative);background-image:repeating-linear-gradient(110deg,var(--negative) 0 1px,transparent 1px 5px)}.ctrl{font-family:var(--font-text);font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 20px;flex-shrink:0;white-space:nowrap;background:transparent;color:var(--ink-muted);border:1px solid var(--hairline-strong);border-radius:var(--radius-btn);cursor:pointer;transition:color var(--m-hover) var(--m-ease-io),border-color var(--m-hover) var(--m-ease-io),background-color var(--m-hover) var(--m-ease-io)}.ctrl:hover{color:var(--ink);border-color:var(--ink-faint);background:rgba(255,255,255,.05)}.ctrl:active{background:rgba(255,255,255,.09);transition-duration:var(--m-press)}.ctrl--primary,.ctrl.is-on,.ctrl[aria-pressed=true]{color:var(--surface);background:var(--brand);border-color:var(--brand)}.ctrl--primary:hover{background:var(--ink);border-color:var(--ink);color:var(--surface)}.ctrl:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.ctrl:disabled,.ctrl[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}.rail{position:relative;height:38px;display:flex;align-items:center;cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.rail__track{right:0;background:var(--hairline-strong)}.rail__fill,.rail__track{position:absolute;left:0;height:2px;border-radius:1px}.rail__fill{background:var(--brand);transition:width var(--m-state) var(--m-ease)}.rail__handle{position:absolute;width:4px;height:22px;border-radius:2px;background:var(--ink);transform:translateX(-2px);transition:background-color var(--m-hover) var(--m-ease-io)}.rail.is-dragging .rail__handle,.rail:hover .rail__handle{background:var(--brand)}.rail.is-dragging .rail__fill{transition:none}.rail[aria-disabled=true]{opacity:.4;pointer-events:none}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--font-text);font-weight:500;font-size:12.5px;color:var(--ink-muted)}.field input{font-family:var(--font-data);font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--surface-sunken);border:1px solid transparent;border-radius:10px;color:var(--ink);padding:9px 12px;width:100%;transition:border-color var(--m-hover) var(--m-ease-io),background-color var(--m-hover) var(--m-ease-io)}.field input:hover{border-color:var(--hairline)}.field input:focus{outline:0;border-color:var(--brand);background:var(--surface)}.field .hint{font-family:var(--font-text);font-weight:450;font-size:11.5px;color:var(--ink-faint)}.rise{opacity:0;transform:translateY(8px)}.demo.is-live .rise{opacity:1;transform:none;transition:opacity var(--m-enter) var(--m-ease),transform var(--m-enter) var(--m-ease);transition-delay:calc(var(--i,0) * var(--m-stagger))}.empty,.success{display:flex;align-items:center;gap:var(--s4);padding:var(--s5) var(--s6);border:1px dashed var(--hairline-strong);border-radius:14px;font-family:var(--font-text);font-weight:450;font-size:13.5px;color:var(--ink-muted)}.success{border-style:solid;border-color:var(--positive);color:var(--positive)}.empty .success @media(prefers-reduced-motion:reduce){.demo *,.demo :after,.demo :before{transition-duration:1ms!important;animation:none!important}.rise{opacity:1;transform:none}}@media (max-width:760px){.demo__head{flex-direction:column;gap:var(--s3);padding:var(--s5) var(--s5) var(--s4)}.demo__slot{flex:1 1 auto;justify-content:flex-start;text-align:left}.demo__honesty{white-space:normal}.demo__body{padding:var(--s5);gap:var(--s5)}.demo__foot{padding:var(--s4) var(--s5)}.focal{padding:var(--s5)}.focal .fig{font-size:44px}}.demo--still .ctrl,.demo--still .rail{pointer-events:none;opacity:.55}.demo--still .cell,.demo--still .gd,.demo--still .gh,.demo--still .load,.demo--still .site,.demo--still .supply__rail,.demo--still .tile,.demo--still .track,.demo--still input{pointer-events:none}.demo--still .tile__hint{display:none}.demo--still *{transition:none!important;animation:none!important}.demo--still .rise{opacity:1;transform:none}.demo--still .demo__honesty{display:none}.demo__caption{display:none;font-family:var(--font-text);font-weight:450;font-size:12.5px;color:var(--ink-faint);line-height:1.45;white-space:normal;text-wrap:balance}.demo--still .demo__caption{display:inline-flex}@media print{.demo{background:#fff;border-color:#D5D2CA;color:#16181A}.demo .ctrl,.demo .rail,.demo__honesty{display:none}.demo__caption{display:inline-flex;color:#4A473F}.focal{background:#fff;border-color:#00669F}.heat i.pk{background-image:repeating-linear-gradient(110deg,#000 0 1px,transparent 1px 5px)}}.explain{display:inline-block;position:relative;vertical-align:middle;margin-left:8px}.explain summary{list-style:none;cursor:pointer;width:19px;height:19px;border-radius:50%;border:1px solid var(--hairline-strong);color:var(--ink-faint);display:flex;align-items:center;justify-content:center;font-family:var(--font-text);font-weight:700;font-size:11.5px;line-height:1;transition:color var(--m-hover) var(--m-ease-io),border-color var(--m-hover) var(--m-ease-io)}.explain summary::-webkit-details-marker{display:none}.explain summary:hover{color:var(--brand);border-color:var(--brand)}.explain[open] summary{color:var(--surface);background:var(--brand);border-color:var(--brand)}.explain__body{position:absolute;z-index:20;top:26px;left:-10px;width:270px;background:var(--surface-sunken);border:1px solid var(--hairline-strong);border-radius:12px;padding:var(--s4);font-family:var(--font-text);font-weight:450;font-size:12.5px;line-height:1.5;color:var(--ink-muted);text-transform:none;letter-spacing:0}.explain__body b{color:var(--ink);font-weight:600}.explain--right .explain__body{left:auto;right:-10px}.demo--still .explain{display:none}.bar{align-items:center;justify-content:space-between;gap:var(--s6)}.bar,.seg{display:flex;flex-wrap:wrap}.seg{gap:8px}.seg button{font-family:var(--font-text);font-weight:600;font-size:13.5px;height:38px;padding:0 18px;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;border-radius:var(--radius-btn);cursor:pointer;background:transparent;color:var(--ink-muted);border:1px solid var(--hairline-strong);transition:color var(--m-hover) var(--m-ease-io),border-color var(--m-hover) var(--m-ease-io),background-color var(--m-hover) var(--m-ease-io)}.seg button:hover{color:var(--ink);border-color:var(--ink-faint)}.seg button[aria-pressed=true]{color:var(--surface);background:var(--brand);border-color:var(--brand)}.seg svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter}.top{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--s8);gap:var(--s8);align-items:end}.focalfig{display:flex;align-items:baseline;gap:var(--s4);flex-wrap:wrap}.focalfig .fig{font-size:76px;font-weight:500;color:var(--brand);line-height:.9}.focalfig .fig u{font-size:.24em;color:var(--ink-muted)}.counts{display:flex;gap:var(--s6);flex-wrap:wrap}.count{display:flex;flex-direction:column;gap:3px}.count .n{font-family:var(--font-data);font-size:24px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.count .k{font-family:var(--font-text);font-weight:500;font-size:12.5px;display:flex;align-items:center;gap:7px}.count .k:before{content:"";width:9px;height:9px;border-radius:2px;background:currentColor;display:block}.c-run{color:var(--positive)}.c-idle{color:var(--data)}.c-fault{color:var(--negative)}.c-off{color:var(--ink-faint)}.plan{position:relative}.plan svg{width:100%;height:auto;display:block;overflow:visible;max-width:820px}.plan .room{fill:var(--surface-sunken);stroke:var(--hairline-strong);stroke-width:1.5;transition:fill var(--m-state) var(--m-ease-io),stroke var(--m-state) var(--m-ease-io)}.plan .room.alert{stroke:var(--negative);stroke-width:2.5;fill:var(--negative-quiet)}.plan .room.cool{stroke:var(--positive);fill:var(--positive-quiet)}.plan .room.dark{stroke:var(--ink-faint);stroke-dasharray:5 4}.plan g:hover .room{stroke:var(--brand)}.plan .rname{font-family:var(--font-text);font-weight:600;font-size:13px;fill:var(--ink)}.plan .rmeta{font-family:var(--font-data);font-size:11px;fill:var(--ink-faint)}.plan .hit{fill:transparent;cursor:pointer}.ac .body{fill:var(--surface-raised);stroke:var(--ink-muted);stroke-width:1.5;transition:stroke var(--m-state) var(--m-ease-io)}.ac .lv{stroke:var(--ink-faint);stroke-width:1}.ac.run .body{stroke:var(--positive)}.ac.fault .body{stroke:var(--negative);fill:var(--negative-quiet)}.ac.off .body{stroke:var(--ink-faint);stroke-dasharray:3 3}.ac .breath{stroke:var(--positive);stroke-width:2;stroke-linecap:round;opacity:0}.ac.run .breath{animation:en-breath var(--bd,3.4s) ease-in-out infinite;animation-delay:var(--bdel,0s)}@keyframes en-breath{0%{opacity:0;transform:translate(0)}22%{opacity:.85}70%{opacity:.35}to{opacity:0;transform:translate(-11px,9px)}}.ac .alarm{fill:var(--negative);opacity:0}.ac.fault .alarm{animation:en-alarm 1.8s step-end infinite;opacity:1}@keyframes en-alarm{0%,60%{opacity:1}61%,to{opacity:.18}}@media (prefers-reduced-motion:reduce){.ac .alarm,.ac .breath{animation:none}}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));grid-gap:var(--s4);gap:var(--s4)}.tile{position:relative;text-align:left;background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:14px;padding:var(--s4) var(--s5);display:flex;flex-direction:column;gap:9px;cursor:pointer;font:inherit;color:inherit;transition:border-color var(--m-hover) var(--m-ease-io),background-color var(--m-hover) var(--m-ease-io)}.tile:hover{border-color:var(--brand)}.tile[aria-expanded=true]{grid-column:1/-1;background:var(--surface)}.tile--running{border-left:3px solid var(--positive)}.tile--idle{border-left:3px solid var(--data)}.tile--fault{border-left:3px solid var(--negative);background:var(--negative-quiet)}.tile--offline{border-left:3px solid var(--ink-faint)}.tile__top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tile__zone{font-family:var(--font-text);font-weight:600;font-size:13.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile__id{font-family:var(--font-data);font-size:11.5px;color:var(--ink-faint);white-space:nowrap}.tile__rows{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px 8px;gap:2px 8px}.tile__k{font-family:var(--font-text);font-weight:450;font-size:11.5px;color:var(--ink-faint)}.tile__draw{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:8px}.tile__draw,.tile__panel{border-top:1px solid var(--hairline)}.tile__panel{padding-top:11px;margin-top:2px;display:block}.tile__hint{position:absolute;right:12px;bottom:10px;font-family:var(--font-text);font-size:11px;color:var(--ink-faint);opacity:0;transition:opacity var(--m-hover) var(--m-ease-io)}.tile:hover .tile__hint{opacity:1}.roomcard{border:1px solid var(--brand);border-radius:14px;padding:var(--s5);display:none;flex-direction:column;gap:var(--s3);margin-top:var(--s5)}.roomcard.on{display:flex}.roomcard h4{font-family:var(--font-text);font-weight:600;font-size:14px;margin:0;color:var(--ink)}.roomlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:var(--s4);gap:var(--s4)}.ru{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:7px;border-bottom:1px solid var(--hairline)}.ru .n{font-family:var(--font-data);font-size:11.5px;color:var(--ink-faint)}@media (max-width:820px){.top{grid-template-columns:1fr}}.stage{display:grid;grid-template-columns:290px 176px minmax(0,1fr);grid-gap:var(--s6) var(--s8);gap:var(--s6) var(--s8);align-items:center}.dial{position:relative;width:300px;height:300px;margin:0 auto;touch-action:none;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dial.is-dragging{cursor:-webkit-grabbing;cursor:grabbing}.dial svg{width:100%;height:100%;display:block;overflow:visible}.dial .ring{fill:none;stroke:var(--hairline-strong);stroke-width:2}.dial .arc{fill:none;stroke:var(--brand);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset var(--m-state) var(--m-ease)}.dial .tick{stroke:var(--hairline-strong);stroke-width:1.5}.dial .tick.major{stroke:var(--ink-faint);stroke-width:2}.dial .num{font-family:var(--font-data);font-size:12px;fill:var(--ink-faint)}.dial .knob{fill:var(--surface-raised);stroke:var(--ink);stroke-width:2}.dial .grip{stroke:var(--ink);stroke-width:3;stroke-linecap:round}.dial svg>g[transform]{transition:transform var(--m-state) var(--m-ease)}.dial.is-dragging svg>g[transform]{transition:none}.dial:hover .grip,.dial:hover .knob{stroke:var(--brand)}.dial__read{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;gap:2px}.dial__read .fig{font-size:52px;font-weight:500;line-height:1}.dial__read .fig u{font-size:.3em;margin-left:.1em}.dial__read .k{font-weight:600;font-size:13px;color:var(--ink-muted)}.dial__hint,.dial__read .k{font-family:var(--font-text)}.dial__hint{text-align:center;font-weight:450;font-size:12.5px;color:var(--ink-faint);margin:10px 0 0}.room svg{width:100%;height:auto;display:block;overflow:visible}.room .wall{fill:none;stroke:var(--ink-faint);stroke-width:2}.room .hair{fill:none;stroke:var(--hairline-strong);stroke-width:1}.room .unit{fill:var(--surface-sunken);stroke:var(--ink);stroke-width:2}.room .louvre{stroke:var(--ink);stroke-width:1.5}.room .term{fill:var(--brand)}.room .flow{stroke:var(--brand);stroke-width:2.5;stroke-linecap:round;opacity:.9}.roomtemp .rt-k{font-family:var(--font-text);font-weight:500;font-size:11px;fill:var(--ink-faint)}.roomtemp .rt-v{font-family:var(--font-data);font-size:26px;font-weight:500;fill:var(--ink)}.roomtemp .rt-s{font-family:var(--font-text);font-weight:600;font-size:11px;fill:var(--ink-faint)}.is-cooling .roomtemp .rt-s{fill:#34C759}.room .lbl-t{font-family:var(--font-text);font-weight:500;font-size:12px;fill:var(--ink-faint)}.room .occ{fill:none;stroke:var(--ink-faint);stroke-width:1.5}@keyframes en-drift{0%{transform:translate(0);opacity:0}18%{opacity:.95}70%{opacity:.55}to{transform:translate(96px,34px);opacity:0}}.room .flow{animation:en-drift var(--flow-dur,2.6s) linear infinite;animation-delay:var(--d,0s)}@media (prefers-reduced-motion:reduce){.room .flow{animation:none;opacity:.6}}.devwall .case{fill:#FFFFFF;stroke:#C9D0D6;stroke-width:1.5}.devwall .bezel{fill:none;stroke:#E7EBEE;stroke-width:1.2}.devwall .wm path{fill:#16181A}.devwall .wm-sub{fill:#16181A;font-family:var(--font-marketing);font-weight:400;font-size:5px}.devwall .lens{stroke:rgba(0,0,0,.12);stroke-width:.6}.led--power{fill:#FF3B30}.led--master{fill:#0A84FF}.led--net{fill:#FFCC00;animation:en-blink 1.6s step-end infinite}.led--relay{fill:#34C759;opacity:.16;transition:opacity var(--m-hover) var(--m-ease-io)}.is-cooling .led--relay{opacity:1}@keyframes en-blink{0%,55%{opacity:1}56%,to{opacity:.16}}@media (prefers-reduced-motion:reduce){.led--net{animation:none}}.dev{gap:var(--s3);align-items:flex-start}.dev,.dev__key{display:flex;flex-direction:column}.dev__key{gap:5px;width:100%;max-width:190px}.dev__key span{display:flex;align-items:center;gap:8px;font-family:var(--font-text);font-weight:450;font-size:11.5px;color:var(--ink-faint)}.dev__key i{width:10px;height:7px;border-radius:2px;display:block;flex-shrink:0}.dev__state{font-family:var(--font-text);font-weight:600;font-size:12.5px;color:var(--ink-faint)}.is-cooling .dev__state{color:var(--positive)}#flows{opacity:0;transition:opacity .32s var(--m-ease)}.is-cooling #flows{opacity:1}.duty{display:flex;align-items:center;gap:var(--s3)}.duty svg{width:34px;height:34px;overflow:visible}.duty .rotor{stroke:var(--brand);stroke-width:2;fill:none;transform-origin:17px 17px;animation:en-spin var(--spin,1.4s) linear infinite}.duty .case{stroke:var(--hairline-strong);stroke-width:1.5;fill:none}@keyframes en-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.duty .rotor{animation:none}}.duty .t{font-family:var(--font-text);font-weight:450;font-size:12.5px;color:var(--ink-muted)}.duty .t b{color:var(--ink);font-weight:600}.reads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s6);gap:var(--s6);padding-top:var(--s5);border-top:1px solid var(--hairline)}.read .k{font-family:var(--font-text);font-weight:600;font-size:12.5px;color:var(--ink-muted);display:block;margin-bottom:6px}.read .fig{font-size:26px;font-weight:500}.support{padding-top:var(--s5);border-top:1px solid var(--hairline)}.range{font-size:12px;margin:6px 0 0;display:block}.caveat,.range{font-family:var(--font-text);font-weight:450;color:var(--ink-faint)}.caveat{font-size:12.5px;line-height:1.5;margin:0}.assume{padding:var(--s5) var(--s8) var(--s6);border-top:1px solid var(--hairline);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:var(--s5);gap:var(--s5)}.assume select{font-family:var(--font-data);font-size:16px;background:var(--surface-sunken);border:1px solid transparent;border-radius:10px;color:var(--ink);padding:9px 10px;width:100%;transition:border-color var(--m-hover) var(--m-ease-io)}.assume select:focus{outline:0;border-color:var(--brand)}.ghost{stroke:var(--ink-faint);stroke-width:1;stroke-dasharray:3 3;fill:none;opacity:.7}@media (max-width:1300px){.stage{grid-template-columns:280px minmax(0,1fr)}.dev{grid-row:2;grid-column:1}}@media (max-width:1100px){.assume{grid-template-columns:repeat(3,1fr)}}@media (max-width:960px){.stage{grid-template-columns:1fr}.dev{grid-row:auto;grid-column:auto}.assume{grid-template-columns:repeat(2,1fr)}.reads{grid-template-columns:1fr}}.lbl-mono{font-family:var(--font-data);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;display:block;font-style:normal}.lsq{display:grid;grid-template-columns:minmax(0,1fr) 260px}.lsq__list{padding:var(--s5);min-width:0}.lsq__side{padding:var(--s5);border-left:1px solid var(--hairline);gap:var(--s5)}.loads,.lsq__side{display:flex;flex-direction:column}.loads{gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.load{background:var(--surface-raised);display:grid;grid-template-columns:26px 20px minmax(0,1fr) 62px 74px;grid-gap:11px;gap:11px;align-items:center;padding:9px 12px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;transition:background-color var(--m-hover) var(--m-ease-io),opacity var(--m-hover) var(--m-ease-io)}.load:hover{background:rgba(255,255,255,.05)}.load.is-dragging{background:rgba(255,255,255,.09);cursor:-webkit-grabbing;cursor:grabbing}.load__rank{font-family:var(--font-data);font-size:10px;color:var(--data);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.load__ico{color:var(--brand);display:flex;align-items:center}.load__ico svg{width:18px;height:18px}.load__n{font-family:var(--font-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.load__kw,.load__n{font-size:13px;color:var(--ink)}.load__kw{font-family:var(--font-data);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.load__kw u{font-size:.72em;color:var(--ink-faint);text-decoration:none;margin-left:3px}.load__st{font-family:var(--font-data);font-size:9px;letter-spacing:.07em;text-transform:uppercase;display:flex;align-items:center;gap:6px;justify-content:flex-end;white-space:nowrap;color:var(--positive)}.load__st:before{content:"";width:7px;height:7px;background:currentColor;display:block;flex-shrink:0}.load.shed{opacity:.6}.load.shed .load__ico,.load.shed .load__kw,.load.shed .load__n{color:var(--ink-faint)}.load.shed .load__st{color:var(--data)}.load.shed .load__st:before{background:transparent;border:1px dashed var(--data)}.load.out{opacity:.5}.load.out .load__ico,.load.out .load__kw,.load.out .load__n{color:var(--ink-faint)}.load.out .load__st{color:var(--negative)}.load.out .load__st:before{background:var(--negative)}.load.protected .load__rank{color:var(--brand)}.load.shed.protected .load__st{color:var(--negative)}.load.shed.protected .load__st:before{border-color:var(--negative)}.load.shed.protected .load__n{color:var(--negative)}.demo[data-alert=fault] .load:not(.shed):not(.out) .load__st{color:var(--data)}.demo[data-alert=fault] .load:not(.shed):not(.out) .load__st:before{background:var(--data)}.supply{display:flex;gap:14px;height:298px}.supply__rail{position:relative;width:34px;cursor:ns-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.supply__track{top:0;background:var(--hairline-strong)}.supply__fill,.supply__track{position:absolute;left:16px;bottom:0;width:2px}.supply__fill{background:var(--brand)}.supply__handle{position:absolute;left:6px;width:22px;height:3px;background:var(--ink);transform:translateY(-1.5px)}.supply__rail.is-dragging .supply__handle,.supply__rail:hover .supply__handle{background:var(--brand)}.supply__demand{position:absolute;left:0;width:34px;border-top:1px dashed var(--negative)}.supply__demand span{position:absolute;left:38px;top:-7px;white-space:nowrap;font-family:var(--font-data);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--negative)}.supply__scale{justify-content:space-between;font-family:var(--font-data);font-size:9.5px;color:var(--ink-faint)}.ro,.supply__scale{display:flex;flex-direction:column}.ro{gap:4px;padding-bottom:var(--s4);border-bottom:1px solid var(--hairline)}.ro:last-of-type{border-bottom:0}.ro__k{font-family:var(--font-data);font-size:9px;letter-spacing:.09em;text-transform:uppercase;font-style:normal}.ro__k,.ro__q{color:var(--ink-faint)}.ro__q{font-family:var(--font-text);font-weight:450;font-size:11.5px}.fig--ro{font-size:24px;font-weight:500}.fig--ro u{font-size:.44em}.fig--stamp{font-size:12.5px;letter-spacing:.01em;color:var(--ink-faint);text-transform:none}.head-box{padding:var(--s4);border:1px solid var(--positive);display:flex;flex-direction:column;gap:4px}.head-box .fig{font-size:26px;font-weight:500;color:var(--positive)}.head-box.deficit{border-color:var(--negative)}.head-box.deficit .fig,.head-box.deficit .ro__k{color:var(--negative)}.head-box.void{border-color:var(--hairline-strong)}.head-box.void .fig,.head-box.void .ro__k{color:var(--data)}.mode{display:flex;gap:8px}.outage{padding:var(--s4);border:1px solid var(--negative);background:rgba(255,78,78,.07);font-family:var(--font-data);font-size:11px;line-height:1.6;color:var(--negative);letter-spacing:.03em;display:none;font-style:normal}.outage.on{display:block}@media (max-width:940px){.lsq{grid-template-columns:1fr}.lsq__side{border-left:0;border-top:1px solid var(--hairline)}}.inrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s5) var(--s4);gap:var(--s5) var(--s4);align-items:end}.inrow select{font-family:var(--font-data);font-size:15px;background:var(--surface-sunken);border:1px solid transparent;border-radius:10px;color:var(--ink);padding:8px 10px;width:100%}.inrow select:focus{outline:0;border-color:var(--brand)}.inrow .field input{padding:8px 10px;font-size:15px}.inrow .field label{font-size:12px}.inrow .field .hint{font-size:11px}.split-roi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s5);gap:var(--s5);padding-top:var(--s5);border-top:1px solid var(--hairline);margin-top:var(--s5)}.split-roi div{display:flex;flex-direction:column;gap:4px}.split-roi .k{font-family:var(--font-text);font-weight:600;font-size:12.5px;color:var(--ink-muted)}.split-roi .fig{font-size:19px;font-weight:500}.split-roi .q{font-family:var(--font-text);font-weight:450;font-size:11.5px;color:var(--ink-faint);line-height:1.4}.assume-roi{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--s5);gap:var(--s5);align-items:center;border:1px solid var(--hairline);border-radius:14px;padding:var(--s4) var(--s5)}.assume__v{display:flex;align-items:baseline;gap:.3em}.assume__v .fig{font-size:28px;font-weight:500;color:var(--ink)}.assume-roi input[type=range]{width:100%;accent-color:var(--brand);display:block;margin-top:8px}.assume-roi p{margin:0;font-family:var(--font-text);font-weight:450;font-size:12.5px;line-height:1.5;color:var(--ink-muted)}.assume-roi p b{color:var(--ink);font-weight:600}.assume-roi .cite{display:block;margin-top:5px;font-family:var(--font-text);font-size:11.5px;color:var(--ink-faint)}.hero-roi{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:var(--s8);gap:var(--s8);align-items:stretch}.heroChart{position:relative}.heroChart svg{width:100%;height:auto;display:block;overflow:visible}.payback{background:var(--brand-quiet);border:1px solid var(--brand);border-radius:18px;padding:var(--s6);display:flex;flex-direction:column;justify-content:center;gap:var(--s2)}.payback .k{font-family:var(--font-text);font-weight:600;font-size:14px;color:var(--ink)}.payback .fig{font-size:82px;font-weight:500;color:var(--brand);line-height:.9}.payback .fig u{font-size:.22em;color:var(--ink-muted)}.payback .sub{font-family:var(--font-text);font-weight:450;font-size:12.5px;color:var(--ink-muted);line-height:1.5;margin:6px 0 0}.side{flex-direction:column;margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--hairline)}.side,.side div{display:flex;gap:var(--s4)}.side div{align-items:baseline;justify-content:space-between}.side .k{font-family:var(--font-text);font-weight:450;font-size:13px;color:var(--ink-muted)}.side .fig{font-size:20px;font-weight:500}.c-invest{stroke:var(--data);stroke-width:1.5;stroke-dasharray:5 4}.c-invest,.c-save{fill:none;vector-effect:non-scaling-stroke}.c-save{stroke:var(--brand);stroke-width:3}.c-fill{fill:var(--brand);opacity:.1}.c-cross line{stroke:var(--positive);stroke-width:1;stroke-dasharray:3 3}.c-cross circle,.c-cross text{fill:var(--positive)}.c-cross text{font-family:var(--font-text);font-weight:600;font-size:13px}.c-ax{font-family:var(--font-data);font-size:11px;fill:var(--ink-faint)}.c-grid{stroke:currentColor;stroke-width:1;opacity:.12;fill:none}.c-axis{stroke:currentColor;stroke-width:1.5;opacity:.4;fill:none}.cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--hairline);border-radius:14px;overflow:hidden}.cmp>div{padding:var(--s5) var(--s6)}.cmp>div+div{border-left:1px solid var(--hairline)}.cmp .k{font-family:var(--font-text);font-weight:600;font-size:12.5px;color:var(--ink-muted);display:block;margin-bottom:8px}.cmp .fig{font-size:26px;font-weight:500}.cmp .sub{font-family:var(--font-text);font-weight:450;font-size:12.5px;color:var(--ink-faint);margin-top:6px;display:block}.capture{padding:var(--s6) var(--s8);border-top:1px solid var(--hairline);display:flex;flex-direction:column;gap:var(--s4)}.capture__hd{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s5);flex-wrap:wrap}.capture__hd p{margin:0;font-family:var(--font-text);font-size:14px;font-weight:600;color:var(--ink)}.capture__hd span{font-family:var(--font-text);font-size:12.5px;color:var(--ink-faint)}.capture__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s5);gap:var(--s5)}.capture input{font-family:var(--font-text);font-size:13.5px;background:var(--surface-sunken);border:1px solid transparent;border-radius:10px;color:var(--ink);padding:9px 12px;width:100%}.capture input:focus{outline:0;border-color:var(--brand);background:var(--surface)}.capture__row{display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap}@media (max-width:1040px){.hero-roi{grid-template-columns:1fr}.inrow{grid-template-columns:repeat(3,1fr)}.capture__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.inrow{grid-template-columns:repeat(2,1fr)}.cmp{grid-template-columns:1fr}.cmp>div+div{border-left:0;border-top:1px solid var(--hairline)}.assume-roi,.split-roi{grid-template-columns:1fr}}.sb{display:grid;grid-template-columns:minmax(0,1fr) 280px}.sb__main{padding:var(--s5);min-width:0}.sb__out{padding:var(--s5);border-left:1px solid var(--hairline);display:flex;flex-direction:column;gap:var(--s5)}.presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s5)}.sched{display:grid;grid-template-columns:58px repeat(24,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--hairline);border:1px solid var(--hairline);-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.sched .gh{background:var(--surface-raised);font-family:var(--font-data);font-size:9px;color:var(--ink-faint);text-align:center;padding:5px 0;letter-spacing:.02em;cursor:pointer;transition:color var(--m-hover) var(--m-ease-io),background-color var(--m-hover) var(--m-ease-io)}.sched .gh:hover{color:var(--ink);background:rgba(255,255,255,.06)}.sched .gh--corner{cursor:default}.sched .gh--corner:hover{background:var(--surface-raised);color:var(--ink-faint)}.sched .gd{background:var(--surface-raised);font-family:var(--font-data);font-size:10px;color:var(--ink-muted);padding:0 8px;display:flex;align-items:center;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;transition:color var(--m-hover) var(--m-ease-io),background-color var(--m-hover) var(--m-ease-io)}.sched .gd:hover{color:var(--ink);background:rgba(255,255,255,.06)}.sched .cell{background:var(--surface-raised);height:26px;cursor:pointer;position:relative;transition:background-color var(--m-press) var(--m-ease)}.sched .cell:hover{background:rgba(255,255,255,.07)}.sched .cell.on,.sched .cell.on:hover{background:var(--brand)}.sched .cell.on:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(110deg,rgba(255,255,255,.22) 0 1px,transparent 1px 6px)}.sched.is-painting .cell:hover{background:var(--brand)}.glegend{display:flex;gap:20px;margin-top:11px;flex-wrap:wrap}.glegend span{display:flex;align-items:center;gap:7px;font-family:var(--font-data);font-size:9.5px;letter-spacing:.05em;color:var(--ink-faint);font-style:normal}.glegend i{width:14px;height:12px;display:block;border:1px solid var(--hairline-strong)}.out{display:flex;flex-direction:column;gap:5px;padding-bottom:var(--s4);border-bottom:1px solid var(--hairline)}.out:last-of-type{border-bottom:0}.out__k{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.out__k,.out__q{font-family:var(--font-data);font-style:normal}.out__q{font-size:9.5px;color:var(--data);letter-spacing:.03em}.fig--out{font-size:26px;font-weight:500}.fig--out u{font-size:.44em}.delta{padding:var(--s4);border:1px solid var(--hairline);background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:5px}.delta.saving{border-color:var(--positive)}.delta.worse{border-color:var(--negative)}.delta.flat{border-color:var(--hairline-strong)}.delta.flat .fig,.delta.flat .out__k{color:var(--data)}.delta .fig{font-size:30px;font-weight:500}.delta.saving .fig,.delta.saving .out__k{color:var(--positive)}.delta.worse .fig,.delta.worse .out__k{color:var(--negative)}.delta__rows{grid-template-columns:1fr 1fr;grid-gap:3px 10px;gap:3px 10px;margin-top:11px;padding-top:11px}.delta__rows,.sb-assume{display:grid;border-top:1px solid var(--hairline)}.sb-assume{padding:var(--s5);grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s5);gap:var(--s5)}.sb-assume .field label{font-family:var(--font-data);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.sb-assume .field input{font-family:var(--font-data);font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:transparent;border:0;border-bottom:1px solid var(--hairline-strong);border-radius:0;color:var(--ink);padding:5px 0;width:100%;transition:border-color var(--m-hover) var(--m-ease-io)}.sb-assume .field input:hover{border-color:var(--ink-faint)}.sb-assume .field input:focus{outline:0;border-color:var(--brand);background:transparent}.sb-assume .field .hint{font-family:var(--font-data);font-size:9px;color:var(--data);letter-spacing:.03em}.sb-assume select{font-family:var(--font-data);font-size:16px;background:var(--surface-sunken);border:1px solid transparent;border-radius:10px;color:var(--ink);padding:9px 10px;width:100%}.sb-assume select:focus{outline:0;border-color:var(--brand)}.sim{padding:var(--s6) var(--s8) 0;display:grid;grid-template-columns:210px minmax(0,1fr);grid-gap:var(--s8);gap:var(--s8);align-items:start}.clockwrap{display:flex;flex-direction:column;align-items:center;gap:var(--s3)}.clockwrap svg{width:100%;max-width:190px;height:auto;display:block;overflow:visible}.clock .face{fill:var(--surface-sunken);stroke:var(--hairline-strong);stroke-width:2}.clock .tick{stroke:var(--ink-faint);stroke-width:1.5}.clock .tick.major{stroke:var(--ink);stroke-width:2.5}.clock .hh{stroke:var(--ink);stroke-width:4;stroke-linecap:round}.clock .mh{stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}.clock .pin{fill:var(--brand)}.clock .band{fill:none;stroke:var(--brand);stroke-width:6;opacity:.55}.clock .num{font-size:9px;fill:var(--ink-faint)}.clock .num,.clocklab{font-family:var(--font-data)}.clocklab{font-size:20px;font-weight:500;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.clockday{font-family:var(--font-text);font-weight:600;font-size:13px;color:var(--ink-muted)}.rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s6);gap:var(--s6)}.rm{border:1px solid var(--hairline);border-radius:14px;padding:var(--s4) var(--s5);flex-direction:column;gap:var(--s3)}.rm,.rm h4{display:flex}.rm h4{font-family:var(--font-text);font-weight:600;font-size:13.5px;margin:0;color:var(--ink);align-items:center;gap:8px}.rm h4 i{width:9px;height:9px;border-radius:2px;background:var(--data);display:block}.rm--ctl h4 i{background:var(--positive)}.rm--raw h4 i{background:var(--negative)}.rm svg{width:100%;height:auto;display:block;overflow:visible}.rm .wall{fill:none;stroke:var(--ink-faint);stroke-width:1.5}.rm .hair{fill:none;stroke:var(--hairline-strong);stroke-width:1}.rm .unit{fill:var(--surface-sunken);stroke:var(--ink-muted);stroke-width:1.5}.rm .louvre{stroke:var(--ink-faint);stroke-width:1}.rm.on .unit{stroke:var(--positive)}.rm--raw.on .unit{stroke:var(--negative)}.rm .flow{stroke:var(--positive);stroke-width:2;stroke-linecap:round;opacity:0}.rm--raw .flow{stroke:var(--negative)}.rm.on .flow{animation:sb-drift 2.4s linear infinite;animation-delay:var(--d,0s)}@keyframes sb-drift{0%{opacity:0;transform:translate(0)}20%{opacity:.9}to{opacity:0;transform:translate(-26px,17px)}}@media (prefers-reduced-motion:reduce){.rm .flow{animation:none}}.rm .occ{fill:none;stroke:var(--ink-faint);stroke-width:1.2}.rm .devbox .case{fill:#FFFFFF;stroke:#C9D0D6;stroke-width:1.2}.rm .devbox .wm path{fill:#16181A}.rm .devbox .lens{stroke:rgba(0,0,0,.12);stroke-width:.5}.rm .devbox .l1{fill:#FF3B30}.rm .devbox .l2{fill:#FFCC00}.rm .devbox .l3{fill:#0A84FF}.rm .devbox .l4{fill:#34C759;opacity:.16}.rm.on .devbox .l4{opacity:1}.rm__state{font-family:var(--font-text);font-weight:600;font-size:12.5px;color:var(--ink-faint)}.rm.on .rm__state{color:var(--positive)}.rm--raw.on .rm__state{color:var(--negative)}.rm__bill{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s4);gap:var(--s4);padding-top:var(--s3);border-top:1px solid var(--hairline)}.rm__bill span{font-family:var(--font-text);font-weight:450;font-size:11.5px;color:var(--ink-faint)}.rm__bill b{font-family:var(--font-data);font-weight:500;font-size:19px;display:block;margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rm__bill .u{color:#FFFFFF}.rm__bill .m{color:#34C759}.rm--raw.has-waste .rm__bill .m{color:var(--negative)}.rm__tally{display:flex;justify-content:space-between;gap:var(--s4);padding-top:var(--s3);border-top:1px solid var(--hairline)}.rm__tally span{font-family:var(--font-text);font-weight:450;font-size:11.5px;color:var(--ink-faint)}.rm__tally b{font-family:var(--font-data);font-weight:500;font-size:15px;color:var(--ink);display:block;margin-top:2px}@media (max-width:1080px){.sb{grid-template-columns:1fr}.sb__out{border-left:0;border-top:1px solid var(--hairline)}.sb-assume{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.sim{padding:var(--s5) var(--s5) 0}.rooms,.sim{grid-template-columns:1fr}.sched{grid-template-columns:40px repeat(24,minmax(0,1fr))}.sched .gh{font-size:7px}.sched .gd{font-size:8px;padding:0 4px}}.sp-detail{position:-webkit-sticky;position:sticky;top:20px}@media (max-width:1000px){.hx-split,.sp-split{grid-template-columns:minmax(0,1fr)!important}.sp-detail{position:static}}.sc__flowwrap{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.sc__flow{width:100%;height:auto;display:block;overflow:visible;min-width:660px}.sc__flow-l{font-family:var(--font-text);font-weight:600;font-size:12px}.sc__flow-o{font-family:var(--font-data);font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-style:normal}.sc__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.sc__layer{display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px 16px 18px;background:transparent;cursor:pointer;border:1px solid var(--hairline);border-left:3px solid var(--hairline-strong);border-radius:12px;transition:border-color var(--m-hover) ease,background-color var(--m-hover) ease}.sc__layer:hover{border-color:var(--hairline-strong)}.sc__layer.is-ours{border-color:var(--brand);border-left-color:var(--brand);background:var(--brand-quiet)}.sc__who{font-family:var(--font-data);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:var(--ink-faint)}.sc__layer.is-ours .sc__who{color:var(--brand)}.sc__n{font-family:var(--font-text);font-weight:600;font-size:15px;color:var(--ink);line-height:1.2}.sc__out{font-size:12.5px;line-height:1.45}.sc__need,.sc__out{font-family:var(--font-text);font-weight:450;color:var(--ink-muted)}.sc__need{font-size:13.5px;line-height:1.6;margin:0}@media (max-width:900px){.sc__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.sc__grid{grid-template-columns:minmax(0,1fr)}}