:root{--calc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--calc-bg: #ffffff;--calc-text: #403B46;--calc-text-muted: #6E6470;--calc-text-value: #5C525F;--calc-text-strong: #4a4538;--calc-tile-bg: #FBF9F6;--calc-tile-border: #EAE7E3;--calc-tile-shadow: 0 1px 1px rgba(120, 100, 60, .05), 0 10px 28px rgba(180, 160, 120, .1);--calc-dot: #EAE7E3;--calc-warn-bg: #FAE3DE;--calc-warn-border: #E8B5A8;--calc-warn-shadow: 0 1px 2px rgba(180, 90, 70, .1), 0 12px 32px rgba(200, 100, 80, .22);--calc-warn-icon: #B85A3F;--calc-cool-bg: #D6E4EE;--calc-cool-border: #A8C2D5;--calc-cool-shadow: 0 1px 1px rgba(70, 100, 130, .06), 0 10px 28px rgba(90, 130, 170, .18);--calc-cool-icon: #5A7A93;--calc-good-bg: #DEECDC;--calc-good-border: #B0CFB1;--calc-good-shadow: 0 1px 1px rgba(80, 120, 90, .06), 0 10px 28px rgba(100, 150, 110, .18);--calc-good-icon: #5C8C66;--calc-art-stroke: #BCB2BA;--calc-art-fill: #EAE7E3;--calc-art-panel-bg: #FBF9F6;--calc-battery-fill: #DEECDC;--calc-art-cell-line: #E8E4EB;--calc-flow-export: #EAC7A6;--calc-flow-export-dot: #B07A48;--calc-flow-import: #869FB8;--calc-flow-import-dot: #5A7A93;--calc-flow-neutral: #BCB2BA;--calc-flow-neutral-dot: #847984;--calc-pill-bg: #FBF9F6;--calc-pill-border: #EAE7E3;--calc-pill-shadow: inset 0 1px 2px rgba(0, 0, 0, .04);--calc-pill-thumb-shadow: 0 1px 3px rgba(120, 100, 60, .15);--calc-knob-day: #ffffff;--calc-knob-night: #403B46;--calc-radius-tile: 28px;--calc-gap-desktop: 20px;--calc-gap-mobile: 12px;--calc-mode-transition: .7s;--calc-warning-text: #9A4930;--calc-warning-bg: #FAE3DE}[data-faza=noc]{--calc-tile-bg: #F4F1ED;--calc-tile-border: #BCB2BA;--calc-tile-shadow: 0 1px 2px rgba(20, 25, 40, .1), 0 14px 36px rgba(40, 55, 90, .18);--calc-dot: #BCB2BA;--calc-warn-bg: #EFC4BB;--calc-warn-border: #CF8C7B;--calc-warn-shadow: 0 1px 3px rgba(80, 30, 20, .18), 0 16px 40px rgba(180, 80, 60, .3);--calc-cool-bg: #B6CCDC;--calc-cool-border: #869FB8;--calc-cool-shadow: 0 1px 2px rgba(30, 50, 70, .16), 0 14px 36px rgba(70, 110, 150, .28);--calc-good-bg: #BFD8BC;--calc-good-border: #85B190;--calc-good-shadow: 0 1px 2px rgba(30, 60, 40, .16), 0 14px 36px rgba(80, 140, 90, .28);--calc-art-stroke: #847984;--calc-art-fill: #D8D1CB;--calc-art-panel-bg: #F4F1ED;--calc-battery-fill: #BFD8BC;--calc-art-cell-line: #D3CCD3}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:16px;font-family:var(--calc-font);color:var(--calc-text);background:var(--calc-bg);line-height:1.5}#calc-root{display:flex;flex-direction:column;align-items:center;gap:24px}.calc-controls{width:min(100%,760px);display:flex;flex-direction:column;gap:16px}.calc-control{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.calc-control__field{display:flex;align-items:center;gap:8px}.calc-control__icon{display:flex;color:var(--calc-text-muted);flex:none}.calc-control__label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--calc-text-value);padding-left:4px;line-height:1.2}.calc-controls__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.calc-pill{background-color:var(--calc-pill-bg);border:.5px solid var(--calc-pill-border);box-shadow:var(--calc-pill-shadow);border-radius:999px}.calc-dropdown{display:flex;align-items:center;gap:6px}.calc-dropdown__btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-family:inherit}.calc-dropdown__select{appearance:none;-webkit-appearance:none;height:44px;min-width:116px;padding:0 16px;font-family:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--calc-text);text-align:center;text-align-last:center;cursor:pointer}.calc-seg{position:relative;display:flex;align-items:center;height:52px;padding:3px}.calc-seg__thumb{position:absolute;top:3px;height:calc(100% - 6px);border-radius:999px;background:#fff;box-shadow:var(--calc-pill-thumb-shadow);transition:left .3s cubic-bezier(.3,1.2,.5,1),width .3s cubic-bezier(.3,1.2,.5,1)}.calc-seg__btn{position:relative;z-index:1;height:100%;border:none;background:transparent;border-radius:999px;padding:0 14px;font-family:inherit;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--calc-text-muted);cursor:pointer;transition:color .3s}.calc-seg__btn[aria-pressed=true]{color:var(--calc-text-strong)}.calc-daynight{position:relative;width:76px;height:44px;cursor:pointer;padding:0;transition:background-color .5s ease}[data-faza=noc] .calc-daynight{background-color:var(--calc-pill-border)}.calc-daynight__icons{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:var(--calc-text-muted);pointer-events:none}.calc-daynight__knob{position:absolute;top:50%;left:0;width:34px;height:34px;border-radius:50%;background:var(--calc-knob-day);box-shadow:0 1px 3px #78643c2e;transform:translate(5px,-50%);transition:transform .3s cubic-bezier(.3,1.2,.5,1),background-color .3s}[data-faza=noc] .calc-daynight__knob{background:var(--calc-knob-night);box-shadow:0 1px 4px #14192859;transform:translate(37px,-50%)}.calc-pill-input{height:44px;width:96px;padding:0 16px;font-family:inherit;font-size:12px;color:var(--calc-text);text-align:center}.calc-warning{width:min(100%,760px);font-size:12px;color:var(--calc-warning-text);background:var(--calc-warning-bg);border:.5px solid var(--calc-warn-border);border-radius:12px;padding:8px 14px}.calc-flows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}.calc-flows--mobile,.calc-flow{display:none}.calc-flow--on{display:inline}.calc-flow path{fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.calc-flow--neutral path{stroke:var(--calc-flow-neutral)}.calc-flow--neutral circle{fill:var(--calc-flow-neutral-dot)}.calc-flow--warm path{stroke:var(--calc-flow-export)}.calc-flow--warm circle{fill:var(--calc-flow-export-dot)}.calc-flow--cool path{stroke:var(--calc-flow-import)}.calc-flow--cool circle{fill:var(--calc-flow-import-dot)}@media(prefers-reduced-motion:reduce){.calc-flow circle{display:none}}.calc-scene{position:relative;display:grid;grid-template-columns:minmax(0,260fr) minmax(0,260fr) minmax(0,200fr);grid-template-rows:320px 180px;gap:var(--calc-gap-desktop);width:min(100%,760px)}.calc-tile{position:relative;border-radius:var(--calc-radius-tile);background-color:var(--calc-tile-bg);border:.5px solid var(--calc-tile-border);box-shadow:var(--calc-tile-shadow);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background-color var(--calc-mode-transition) ease-out,border-color var(--calc-mode-transition) ease-out,box-shadow var(--calc-mode-transition) ease-out}.calc-tile--dots:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,var(--calc-dot) .9px,transparent 1px);background-size:16px 16px;pointer-events:none;transition:opacity var(--calc-mode-transition) ease-out}.calc-tile--solar{grid-column:1;grid-row:1}.calc-tile--home{grid-column:2;grid-row:1}.calc-tile--battery{grid-column:3;grid-row:1}.calc-tile--vehicle{grid-column:1;grid-row:2}.calc-tile--grid{grid-column:2 / 4;grid-row:2}.calc-tile__label{position:absolute;bottom:16px;left:20px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--calc-text-muted)}.calc-tile--label-top .calc-tile__label{bottom:auto;top:16px}.calc-tile__art{display:flex;align-items:center;justify-content:center}.calc-tile__art svg{display:block;width:100%;height:100%;overflow:visible}.calc-tile--solar .calc-tile__art{height:45%;aspect-ratio:1 / 1.9}.calc-tile--home .calc-tile__art{width:70%;aspect-ratio:534 / 317}.calc-tile--battery .calc-tile__art{width:55%;height:55%}.calc-tile--vehicle .calc-tile__art{width:73%;height:39%}.calc-tile--grid .calc-tile__art{width:60%;height:60%}.calc-house{position:relative;width:100%;height:100%}.calc-house__svg,.calc-house__svg svg{width:100%;height:100%;display:block;overflow:visible}.calc-house__svg svg path{fill:var(--calc-art-stroke);stroke:var(--calc-art-stroke);stroke-width:4;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke fill;transition:fill var(--calc-mode-transition) ease-out,stroke var(--calc-mode-transition) ease-out}.calc-house__panel{position:absolute;pointer-events:none}.calc-panel-svg{fill:var(--calc-art-fill);stroke:var(--calc-art-stroke);stroke-linejoin:round;transition:fill var(--calc-mode-transition) ease-out,stroke var(--calc-mode-transition) ease-out}.calc-panels{position:relative;width:100%;height:100%}.calc-panels__p{position:absolute;left:50%;top:50%;aspect-ratio:1 / 1.7}.calc-panels__p--1{height:76%;transform:translate(-78%,-50%);opacity:.4}.calc-panels__p--2{height:88%;transform:translate(-65%,-50%);opacity:.7}.calc-panels__p--3{height:100%;transform:translate(-50%,-50%);opacity:1}.calc-panels__p .calc-panel-big{fill:var(--calc-art-panel-bg);stroke:var(--calc-art-stroke);stroke-width:.8;stroke-linejoin:round;transition:fill var(--calc-mode-transition) ease-out,stroke var(--calc-mode-transition) ease-out}.calc-panel-big__cell{fill:var(--calc-art-panel-bg);stroke:var(--calc-art-cell-line);stroke-width:.18;transition:fill var(--calc-mode-transition) ease-out,stroke var(--calc-mode-transition) ease-out}.calc-car{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.calc-car svg{width:100%;height:100%;overflow:visible;transform:scaleX(-1)}.calc-car svg path{fill:var(--calc-art-stroke);stroke:var(--calc-art-stroke);stroke-width:12;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke fill;transition:fill var(--calc-mode-transition) ease-out,stroke var(--calc-mode-transition) ease-out}.calc-batt{fill:none;stroke:var(--calc-art-stroke);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--calc-mode-transition) ease-out}.calc-batt__body{fill:var(--calc-art-panel-bg);transition:fill var(--calc-mode-transition) ease-out}.calc-batt__seg{fill:var(--calc-battery-fill);stroke:none;opacity:0;transition:opacity .4s ease-out,fill var(--calc-mode-transition) ease-out}.calc-batt__seg--full{opacity:1}.calc-batt__seg--charge{animation:calc-pulse 1.6s ease-in-out infinite}@keyframes calc-pulse{0%,to{opacity:0}50%{opacity:.8}}@media(prefers-reduced-motion:reduce){.calc-batt__seg--charge{animation:none;opacity:.4}}.calc-grid-icon{fill:none;stroke:var(--calc-art-stroke);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--calc-mode-transition) ease-out}.calc-meters{position:absolute;top:16px;right:20px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;line-height:1}.calc-meters--bottom{top:auto;bottom:16px}.calc-counter{display:flex;align-items:baseline;gap:8px}.calc-counter__label{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--calc-text-muted)}.calc-counter__value{font-size:13px;color:var(--calc-text-value);font-variant-numeric:tabular-nums;letter-spacing:.01em}.calc-counter__unit{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--calc-text-muted)}.calc-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--calc-gap-desktop);width:min(100%,760px)}.calc-summary__tile{position:relative;border-radius:var(--calc-radius-tile);overflow:hidden;padding:24px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;border:.5px solid;transition:background-color var(--calc-mode-transition) ease-out,border-color var(--calc-mode-transition) ease-out,box-shadow var(--calc-mode-transition) ease-out}.calc-summary__tile--warn{background-color:var(--calc-warn-bg);border-color:var(--calc-warn-border);box-shadow:var(--calc-warn-shadow);--accent-icon: var(--calc-warn-icon)}.calc-summary__tile--cool{background-color:var(--calc-cool-bg);border-color:var(--calc-cool-border);box-shadow:var(--calc-cool-shadow);--accent-icon: var(--calc-cool-icon)}.calc-summary__tile--good{background-color:var(--calc-good-bg);border-color:var(--calc-good-border);box-shadow:var(--calc-good-shadow);--accent-icon: var(--calc-good-icon)}.calc-summary__head{display:flex;align-items:flex-start;justify-content:space-between}.calc-summary__title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--calc-text);text-align:right}.calc-summary__value-row{display:flex;align-items:baseline;gap:6px;line-height:1}.calc-summary__value{font-size:28px;color:var(--calc-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.calc-summary__unit{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--calc-text)}.calc-summary__period{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--calc-text);margin-top:4px}@media(max-width:767px){.calc-scene{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:var(--calc-gap-mobile);max-width:480px}.calc-tile--solar,.calc-tile--home,.calc-tile--battery,.calc-tile--vehicle,.calc-tile--grid{grid-column:auto;grid-row:auto}.calc-tile--solar{order:1}.calc-tile--home{order:2}.calc-tile--vehicle{order:3}.calc-tile--battery{order:4}.calc-tile--grid{order:5;grid-column:span 2;height:180px}.calc-tile--solar,.calc-tile--home,.calc-tile--vehicle,.calc-tile--battery{aspect-ratio:1 / 1}.calc-tile--label-top .calc-tile__label{top:auto;bottom:16px}.calc-meters--bottom{bottom:auto;top:16px}.calc-summary{grid-template-columns:1fr 1fr;gap:var(--calc-gap-mobile);max-width:480px}.calc-summary__tile--good{grid-column:span 2}.calc-flows--desktop{display:none}.calc-flows--mobile{display:block}}.calc-note{width:min(100%,760px);margin:16px auto 0;font-size:11px;color:var(--calc-text-muted);text-align:center}.calc-cta__brand{display:flex;align-items:center;gap:16px}.calc-cta__logo{flex:none}.calc-cta .calc-attribution{margin:0;font-size:14px;text-align:left;color:var(--calc-text)}.calc-cta .calc-attribution a{color:inherit}.calc-cta__note{margin:3px 0 0;font-size:11px;color:var(--calc-text-muted)}.calc-attribution{font-size:11px;color:var(--calc-text-muted);text-align:center;margin-top:8px}.calc-attribution a{color:inherit}:focus-visible{outline:2px solid var(--calc-cool-icon);outline-offset:2px}.calc-input-error{font-size:11px;color:var(--calc-warning-text);max-width:140px}.calc-cta{width:min(100%,760px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-radius:var(--calc-radius-tile);border:.5px solid var(--calc-tile-border);background:var(--calc-tile-bg);box-shadow:var(--calc-tile-shadow);padding:20px 24px;transition:background-color var(--calc-mode-transition),border-color var(--calc-mode-transition)}.calc-gtower{opacity:0}@media(hover:hover)and (prefers-reduced-motion:no-preference){.calc-house__svg{transition:transform .35s cubic-bezier(.34,1.25,.64,1)}.calc-tile--home:hover .calc-house__svg{transform:translateY(-3px) scale(1.015)}.calc-house__panel{transform:translateY(-260%);opacity:0;transition:transform .5s cubic-bezier(.34,1.25,.64,1),opacity .5s ease-out}.calc-house__panel:nth-child(3){transition-delay:.11s}.calc-house__panel:nth-child(4){transition-delay:.22s}.calc-house__panel:nth-child(5){transition-delay:.33s}.calc-house__panel:nth-child(6){transition-delay:.44s}.calc-tile--home:hover .calc-house__panel{transform:none;opacity:1}.calc-panels__p{transition:transform .4s ease-out}.calc-tile--solar:hover .calc-panels__p--1{transform:translate(-113%,-50%)}.calc-tile--solar:hover .calc-panels__p--2{transform:translate(-83%,-50%)}.calc-car{transition:transform .5s cubic-bezier(.3,1.2,.5,1)}.calc-tile--vehicle:hover .calc-car{transform:translate(-16px)}.calc-tile--battery:hover .calc-batt__seg{opacity:1;animation:none}.calc-tile--battery:hover .calc-batt__seg[data-seg="1"]{transition-delay:.16s}.calc-tile--battery:hover .calc-batt__seg[data-seg="2"]{transition-delay:.32s}.calc-tile--battery:hover .calc-batt__seg[data-seg="3"]{transition-delay:.48s}.calc-tile--battery:hover .calc-batt__seg[data-seg="4"]{transition-delay:.64s}.calc-gtower{transition:transform .5s ease-out,opacity .5s ease-out}.calc-tile--grid:hover .calc-gtower--l1{transform:translate(-47px);opacity:.65;transition-delay:.08s}.calc-tile--grid:hover .calc-gtower--r1{transform:translate(47px);opacity:.65;transition-delay:.08s}.calc-tile--grid:hover .calc-gtower--l2{transform:translate(-88px);opacity:.35;transition-delay:.18s}.calc-tile--grid:hover .calc-gtower--r2{transform:translate(88px);opacity:.35;transition-delay:.18s}}
