@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../fonts/archivo-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../fonts/archivo-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-sky=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e6ecee;--surface:#f2f5f6;--surface-2:#dbe3e6;--surface-3:#c9d4d8;--rule:#0f222924;--text:#0f2229;--text-2:#4a5f67;--muted:#5c7077;--fill:#0f22291a;--fill-2:#0f22290e;--grid:#0f222917;--cheap:#1b7062;--dear:#a8325f;--sun:#a87700;--own:#5a4fc0;--hold:#6c7f85;--import:#2c6690;--alert:#b3372a}:root[data-sky=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16262e;--surface:#1c2f38;--surface-2:#243a45;--surface-3:#2f4753;--rule:#e9f0f121;--text:#e9f0f1;--text-2:#a2b4ba;--muted:#74898f;--fill:#e9f0f11f;--fill-2:#e9f0f111;--grid:#e9f0f114;--cheap:#4dbfa9;--dear:#ec6e9f;--sun:#f2ba30;--own:#a497f2;--hold:#6f868e;--import:#79aedd;--alert:#f2786a}:root{--separator:var(--rule);--accent:var(--text);--sys-green:var(--cheap);--sys-blue:var(--import);--sys-orange:var(--dear);--sys-purple:var(--own);--sys-yellow:var(--sun);--sys-red:var(--alert);--sys-teal:var(--import);--c-battery-1:var(--text);--c-battery-2:var(--text-2);--c-grid-charge:var(--cheap);--c-discharge:var(--dear);--c-self-use:var(--own);--c-hold:var(--hold);--c-solar:var(--sun);--series-1:var(--c-grid-charge);--series-2:var(--c-discharge);--series-3:var(--c-battery-1);--neutral:var(--c-hold);--good:var(--cheap);--bad:var(--alert);--radius:10px;--radius-sm:6px;--spring:cubic-bezier(.32, 1.25, .5, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--font:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-rounded:var(--font);transition:background-color 1.2s,color 1.2s}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html[data-statusbar=translucent] body:before{content:"";z-index:40;height:env(safe-area-inset-top);background:#16262e;position:fixed;top:0;left:0;right:0}body,html{background:var(--bg);color:var(--text);font:400 16px/1.45 var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;margin:0}a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:2px}main{max-width:640px;padding:calc(32px + env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.page-head{justify-content:space-between;align-items:center;gap:12px;margin:0 0 28px;display:flex}.page-head h1{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:700;font-stretch:112%;line-height:1.1}.page-head .sub{color:var(--text-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:14px;display:inline-flex}h1{letter-spacing:-.01em;margin:0 0 24px;font-size:28px;font-weight:700;font-stretch:112%}h2{margin:0;font-size:16px;font-weight:600}.section-title{color:var(--text-2);margin:28px 2px 8px;font-size:14px;font-weight:600}.card{background:var(--surface);border-radius:var(--radius);margin-bottom:12px;padding:18px;position:relative;overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.card-head .eyebrow{align-items:center;gap:6px;font-size:16px;font-weight:600;display:inline-flex}.card-head .eyebrow svg{width:18px;height:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.grid>.card{margin-bottom:0}.row{flex-wrap:wrap;align-items:center}.row,.spread{gap:8px;display:flex}.spread{justify-content:space-between;align-items:baseline}.muted{color:var(--text-2)}.label,.small{font-size:14px}.label{color:var(--text-2)}.big{font:600 36px/1.05 var(--font);letter-spacing:-.01em;font-stretch:80%}.big,.num{font-variant-numeric:tabular-nums}.num{font-stretch:88%}.pos{color:var(--cheap)}.neg{color:var(--alert)}.pill{border:1px solid var(--rule);color:var(--text-2);border-radius:4px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.dot{background:var(--hold);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--cheap)}.dot.err{background:var(--alert)}.dot.live{background:var(--cheap)}.block{border-top:1px solid var(--rule);margin-bottom:36px;padding-top:14px}.block-head{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:18px;display:flex}.block-head a,.block-sub{font-size:14px}.block-sub{color:var(--text-2);margin:20px 0 4px;font-weight:600}.figures{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;margin-bottom:36px;display:grid}.figures>div{flex-direction:column;gap:2px;min-width:0;padding:14px 0 0;display:flex}.figures>div+div{border-left:1px solid var(--rule);padding-left:16px}.f-label{font-size:14px;font-weight:600}.f-value{font-variant-numeric:tabular-nums;font-size:36px;font-weight:600;font-stretch:75%;line-height:1.1}.f-value small{color:var(--text-2);font-size:14px;font-weight:400;font-stretch:100%}.f-note{color:var(--text-2);font-size:13px}.f-value.neg{color:var(--alert)}.note{border-left:2px solid var(--text);margin:10px 0 0;padding-left:10px}.hint,.note{font-size:14px}.hint{color:var(--text-2);margin:8px 0 0}.sw{border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.btn,button{font:600 15px var(--font);border:1px solid var(--rule);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:10px 16px;transition:background .15s,opacity .2s,transform .15s}button:hover{background:var(--fill-2)}button:active{transform:translateY(1px)}button.primary{background:var(--text);color:var(--bg);border-color:var(--text)}button.primary:hover{opacity:.88}button.plain{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);background:0 0;border:0;padding:6px 2px}button.danger{color:var(--alert)}button.list-row{text-align:left;background:0 0;border:0;border-radius:0;width:100%;font-size:16px;font-weight:400}button.list-row:hover{background:var(--fill-2)}button.list-row:active{transform:none}button:disabled{opacity:.4;cursor:default;transform:none}.segmented{border:1px solid var(--rule);border-radius:var(--radius-sm);isolation:isolate;grid-auto-columns:1fr;grid-auto-flow:column;padding:2px;display:inline-grid;position:relative}.segmented.full{width:100%;display:grid}.segmented button{color:var(--text-2);z-index:1;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:5px 12px;font-size:14px;font-weight:500;transition:color .2s;position:relative}.segmented button:hover{color:var(--text);background:0 0}.segmented button:active{transform:none}.segmented button.active{color:var(--bg);font-weight:600}.segmented .thumb{z-index:0;background:var(--text);transition:transform .3s var(--ease-out),width .3s var(--ease-out);border-radius:4px;position:absolute;top:2px;bottom:2px;left:2px}input,select{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--rule);background:var(--surface);width:100%;color:var(--text);outline:none;padding:11px 12px;font-size:16px;transition:border-color .2s}input:focus,select:focus{border-color:var(--text)}input::placeholder{color:var(--muted)}label.field{margin-bottom:12px;display:block}label.field>span{color:var(--text-2);margin:0 2px 6px;font-size:14px;display:block}.list{background:var(--surface);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.list-row{justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 16px;display:flex;position:relative}.list-row+.list-row:before{content:"";background:var(--rule);height:1px;position:absolute;top:0;left:16px;right:0}.list-row.indent+.list-row.indent:before{left:56px}.list-row .lead{align-items:center;gap:12px;min-width:0;display:flex}.list-row .title{font-size:16px}.list-row .detail{color:var(--text-2);font-variant-numeric:tabular-nums;text-align:right;font-size:15px}.list-row input,.list-row select{text-align:right;width:50%;color:var(--text-2);background:0 0;border:0;border-radius:0;padding:6px 0}.list-row input:focus,.list-row select:focus{color:var(--text)}.list-row.stack{flex-direction:column;align-items:stretch;gap:8px}.list-row.stack input{text-align:left;border:1px solid var(--rule);border-radius:var(--radius-sm);width:100%;padding:10px 12px}.icon-tile{width:28px;height:28px;color:var(--text-2);flex:none;place-items:center;display:grid}.icon-tile svg{width:20px;height:20px}.switch{flex:none;width:46px;height:28px;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch span{background:var(--fill);border-radius:99px;transition:background .2s;position:absolute;inset:0}.switch span:after{content:"";background:var(--surface);width:22px;height:22px;transition:transform .25s var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch input:checked+span{background:var(--text)}.switch input:checked+span:after{background:var(--bg);transform:translate(18px)}.switch input:focus-visible+span{outline:2px solid var(--text);outline-offset:2px}.bar{background:var(--fill);height:6px;overflow:hidden}.bar,.bar>div{border-radius:3px}.bar>div{background:var(--text);height:100%;transition:width .8s var(--ease-out)}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px;font-stretch:88%}td,th{text-align:right;border-bottom:1px solid var(--rule);white-space:nowrap;padding:8px}td:first-child,th:first-child{text-align:left}th{color:var(--text-2);font-weight:500}tr:last-child td{border-bottom:0}.table-wrap{margin:0 -18px;padding:0 18px;overflow-x:auto}.error{color:var(--alert);font-size:14px}.chart{height:220px;position:relative}details.disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;list-style:none;display:flex}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary .chev{transition:transform .25s var(--ease-out);color:var(--muted)}details.disclosure[open]>summary .chev{transform:rotate(90deg)}details.disclosure[open]>summary{margin-bottom:12px}nav.tabs{z-index:20;padding:0 8px env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--rule);grid-template-columns:repeat(5,1fr);transition:background-color 1.2s;display:grid;position:fixed;bottom:0;left:0;right:0}nav.tabs a{color:var(--text-2);white-space:nowrap;flex-direction:column;align-items:center;gap:3px;padding:9px 0 8px;font-size:11px;font-weight:500;text-decoration:none;display:flex;position:relative}nav.tabs a:before{content:"";background:var(--text);height:2px;transition:transform .25s var(--ease-out);position:absolute;top:-1px;left:30%;right:30%;transform:scaleX(0)}nav.tabs a svg{width:22px;height:22px}nav.tabs a.router-link-exact-active{color:var(--text);font-weight:600}nav.tabs a.router-link-exact-active:before{transform:scaleX(1)}.page-enter-active,.page-leave-active{transition:opacity .18s}.page-enter-from,.page-leave-to{opacity:0}.skeleton{background:var(--fill-2);border-radius:var(--radius);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=720px){main{max-width:680px;padding-top:calc(40px + env(safe-area-inset-top))}nav.tabs{padding-left:calc(50% - 340px);padding-right:calc(50% - 340px)}}nav.tabs .rail-only{display:none}@media (width>=1024px){:root{--rail:228px;--page:1160px;--gutter:clamp(32px, 4vw, 64px)}nav.tabs{width:var(--rail);padding:calc(28px + env(safe-area-inset-top)) 16px 24px;border-top:0;border-right:1px solid var(--rule);flex-direction:column;gap:2px;display:flex;top:0;right:auto}nav.tabs .rail-gap,nav.tabs .rail-logo{display:block}nav.tabs a{border-radius:var(--radius-sm);flex-direction:row;gap:12px;padding:9px 12px;font-size:15px;transition:background .15s,color .15s}nav.tabs a:hover{background:var(--fill-2);color:var(--text)}nav.tabs a:before{width:2px;height:auto;inset:8px auto 8px -16px;transform:scaleY(0)}nav.tabs a.router-link-exact-active:before{transform:scaleY(1)}nav.tabs a svg{width:20px;height:20px}nav.tabs a.rail-logo{margin-bottom:28px;padding:2px 12px 0}nav.tabs a.rail-logo:before{display:none}nav.tabs a.rail-logo:hover{background:0 0}.rail-logo img{width:auto;height:24px;display:block}.rail-gap{flex:1}.shell.authed main{max-width:none;margin:0 0 0 var(--rail);padding:calc(44px + env(safe-area-inset-top)) var(--gutter) 72px}.shell.authed main>*{max-width:var(--page);margin-inline:auto}.page-head{margin-bottom:32px}.page-head h1{font-size:36px}.cols{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:0 56px;display:grid}}@media (width>=1024px) and (width<=1279px){.cols{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0 40px}}.md h1{letter-spacing:-.02em;margin:0 0 12px;font-size:28px;font-stretch:125%}.md h2{margin:28px 0 8px;font-size:18px}.md li,.md p{font-size:15px;line-height:1.55}.md ol,.md ul{padding-left:22px}.md li{margin:4px 0}.md code{background:var(--surface-2);border-radius:5px;padding:1px 5px;font-size:13px}.md a{color:var(--sys-blue)}.md .shot{border:1px dashed var(--separator);text-align:center;color:var(--text-2);border-radius:12px;margin:12px 0;padding:28px 16px;font-size:13px}.md .shot:before{content:"📷";margin-bottom:6px;font-size:22px;display:block}main:has(.load-error) .offline-notice{display:none}html.native{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html.native :is(input,textarea,select,code,.md){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html.native,html.native body{overscroll-behavior:none}@media (width<=1023px){html.native:has(:is(input,textarea,select):focus) nav.tabs{display:none}}.offline-notice[data-v-a20f15b6]{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 20px;display:flex}.offline-notice span[data-v-a20f15b6]{flex-basis:100%}.offline-notice .plain[data-v-a20f15b6]{padding:0;font-size:14px;font-weight:600}.demo-banner[data-v-0a1f7a4a]{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 20px;display:flex}.demo-banner .plain[data-v-0a1f7a4a]{padding:0;font-size:14px;font-weight:600}.verify[data-v-1618b422]{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 20px;display:flex}.verify .plain[data-v-1618b422]{padding:0;font-size:14px}.verify .error[data-v-1618b422]{flex-basis:100%}.sheet[data-v-9bc0bdff]{background:var(--surface);width:100%;max-width:520px;max-height:88vh;color:var(--text);border-radius:var(--radius) var(--radius) 0 0;border:0;margin:auto auto 0;padding:0}.sheet[data-v-9bc0bdff]::backdrop{background:#0006}form[data-v-9bc0bdff]{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}h2[data-v-9bc0bdff]{outline:none;margin:0 0 8px;font-size:19px;font-weight:700}.md[data-v-9bc0bdff]{background:var(--surface-2);border-radius:12px;max-height:45vh;margin-top:12px;padding:4px 12px;overflow-y:auto}.md[data-v-9bc0bdff] h1{margin:10px 0 6px;font-size:17px}.md[data-v-9bc0bdff] h2{margin:14px 0 4px;font-size:15px}.md[data-v-9bc0bdff] li,.md[data-v-9bc0bdff] p{font-size:14px;line-height:1.5}.md[data-v-9bc0bdff] ol,.md[data-v-9bc0bdff] ul{padding-left:20px}.md[data-v-9bc0bdff] a{color:var(--sys-blue)}.small[data-v-9bc0bdff]{margin:0;font-size:13px}.muted[data-v-9bc0bdff]{color:var(--text-2)}.neg[data-v-9bc0bdff]{color:var(--alert);margin-top:12px}.actions[data-v-9bc0bdff]{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}@media (width>=560px){.sheet[data-v-9bc0bdff]{border-radius:var(--radius);margin:auto}}.consent[data-v-f2b259d2]{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 20px;display:flex}.consent .plain[data-v-f2b259d2]{padding:0;font-size:14px}.now[data-v-59aa8542]{border-top:1px solid var(--rule);color:inherit;grid-template-columns:auto 1fr;align-items:end;gap:14px;padding:16px 12px 0;text-decoration:none;display:grid}.units[data-v-59aa8542]{gap:4px;width:46px;height:64px;display:flex}.unit[data-v-59aa8542]{border:1.5px solid var(--text);border-radius:4px;flex:1 1 0;align-items:flex-end;min-width:0;padding:2px;display:flex;position:relative}.unit-fill[data-v-59aa8542]{background:var(--text);width:100%;transition:height 1s var(--ease-out);border-radius:1.5px}.unit-fill.charging[data-v-59aa8542]{box-shadow:inset 0 3px 0 var(--cheap)}.unit-fill.discharging[data-v-59aa8542]{box-shadow:inset 0 3px 0 var(--dear)}.read[data-v-59aa8542]{flex-direction:column;gap:2px;min-width:0;display:flex}.pct[data-v-59aa8542]{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:32px;font-weight:650;font-stretch:75%;line-height:1}.pct small[data-v-59aa8542]{margin-left:1px;font-size:16px;font-weight:500}.pct small[data-v-59aa8542],.power[data-v-59aa8542]{color:var(--text-2)}.power[data-v-59aa8542]{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-stretch:88%}.power.charging[data-v-59aa8542]{color:var(--cheap)}.power.discharging[data-v-59aa8542]{color:var(--dear)}.price[data-v-59aa8542]{color:var(--text-2);grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:8px;margin:0;font-size:13px;display:flex}.price b[data-v-59aa8542]{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;font-stretch:88%}.now:hover .pct[data-v-59aa8542]{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}
