@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&display=swap";:root{color-scheme:light dark;font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55;--brand-navy: #132634;--brand-green: #49ab3a;--brand-green-light: #7dc21d;--brand-green-dark: #058446;--brand-fg: #fafaf7;--bg: #fafaf7;--fg: var(--brand-navy);--muted: #6a6963;--rule: #d8d6cd;--accent: var(--brand-green);--accent-fg: var(--brand-fg);--warn: #b85c20;--error: #b32a2a;--field-bg: #ffffff}@media (prefers-color-scheme: dark){:root{--bg: var(--brand-navy);--fg: var(--brand-fg);--muted: #9e9c93;--rule: #1f3849;--accent: var(--brand-green-light);--accent-fg: var(--brand-navy);--warn: #d68845;--error: #e0735a;--field-bg: #1a3245}}*{box-sizing:border-box}html,body,#root{margin:0;background:var(--bg);color:var(--fg);min-height:100%}.page{min-height:100vh;padding:4rem 1.5rem;display:flex;align-items:flex-start;justify-content:center}.content{max-width:40rem;width:100%}.content-wide{max-width:min(86rem,100% - 2rem)}.logo-wordmark{display:flex;align-items:center;gap:.85rem}.logo-words{display:flex;flex-direction:column;line-height:1.1}.logo-brand{font-weight:800;letter-spacing:-.025em}.logo-brand-dark{color:var(--fg)}.logo-brand-green{color:var(--accent)}.logo-brand-tld{color:var(--fg);font-weight:500;font-size:.65em;margin-left:.05em}.logo-hero .logo-brand{font-size:2rem}.logo-inline .logo-brand{font-size:1.15rem}.logo-tagline{color:var(--muted);font-size:.9rem;margin-top:.15rem}.logo-inline .logo-tagline{display:none}header{margin-bottom:3rem}h1{font-size:clamp(1.75rem,4.5vw,2.6rem);line-height:1.2;letter-spacing:-.025em;margin:2.5rem 0 1.25rem;font-weight:700}h2{font-size:1.5rem;letter-spacing:-.015em;margin:0 0 1rem;font-weight:700}p.lede{font-size:1.1rem;color:var(--muted);margin:0}p.hint{font-size:.95rem;color:var(--muted);margin:0 0 1.5rem}p.error{font-size:.95rem;color:var(--error);margin:1rem 0 0;padding:.75rem 1rem;background:color-mix(in srgb,var(--error) 10%,transparent);border-left:3px solid var(--error)}p.warn{font-size:.9rem;color:var(--warn);margin:1rem 0}a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}a:hover{opacity:.7}.connect,.result{margin-top:3rem;padding-top:3rem;border-top:1px solid var(--rule)}label{display:block;margin-bottom:1rem}label span{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.4rem;font-weight:500}input[type=password],input[type=text]{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--field-bg);color:var(--fg);border:1px solid var(--rule);border-radius:6px}input:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}button{font-family:inherit;font-size:1rem;padding:.75rem 1.5rem;background:var(--accent);color:var(--accent-fg);border:none;border-radius:6px;cursor:pointer;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){opacity:.9}button.link{background:transparent;color:var(--accent);padding:.5rem 0;font-size:.9rem;border-bottom:1px solid currentColor;border-radius:0;margin-top:1rem;font-weight:500}ul.homes{list-style:none;padding:0;margin:0}ul.homes li{margin-bottom:.75rem}ul.homes button{display:block;width:100%;text-align:left;background:var(--field-bg);color:var(--fg);border:1px solid var(--rule);padding:1rem}ul.homes button:hover:not(:disabled){border-color:var(--accent);opacity:1}ul.homes strong{display:block;margin-bottom:.25rem}ul.homes span{font-size:.9rem;color:var(--muted)}dl.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}@media (min-width: 600px){dl.stats{grid-template-columns:repeat(4,1fr)}}dl.stats>div{border-top:1px solid var(--rule);padding-top:.75rem}dl.stats dt{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;font-weight:500}dl.stats dd{margin:0;font-size:1.4rem;font-weight:700;letter-spacing:-.02em}footer{margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-size:.9rem;color:var(--muted)}.simulator{margin-top:3rem;padding-top:3rem;border-top:1px solid var(--rule)}.simulator-header{margin-bottom:2rem}.simulator-header h2{margin-bottom:.5rem}.metadata-banner{display:flex;flex-wrap:wrap;gap:.5rem .85rem;align-items:center;font-size:.85rem;color:var(--muted);margin:.75rem 0 0}.metadata-pill{display:inline-block;padding:.2rem .6rem;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border-radius:999px;font-weight:600;font-size:.78rem;letter-spacing:.02em}.simulator h3{margin:2.5rem 0 .5rem;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.simulator-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--rule)}.simulator-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;margin:2rem 0}@media (min-width: 960px){.simulator-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);align-items:start}}@media (min-width: 1440px){.simulator-layout{grid-template-columns:minmax(0,1.7fr) minmax(380px,1fr)}}.simulator-main{min-width:0}.simulator-sidebar{display:flex;flex-direction:column;gap:1.5rem}.decomposition{margin-top:2.5rem;padding:1.5rem;background:var(--field-bg);border:1px solid var(--rule);border-radius:8px}.monthly-savings-chart{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--rule)}.msc-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.25rem .75rem;margin-bottom:.4rem}.msc-header h3{margin:0}.msc-total{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;color:var(--brand-green-dark, var(--accent));font-size:1.05rem;white-space:nowrap}.decomposition>h3{margin:0 0 .4rem;font-size:1.1rem}.decomposition>.hint{margin:0 0 1.25rem}.decomposition-section{margin-bottom:1.5rem}.decomposition-section header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule)}.decomposition-section h4{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.group-total{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:.95rem}.decomposition-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.decomposition-section li{padding:.4rem 0}.decomposition-section li:not(:last-child){border-bottom:1px dotted color-mix(in srgb,var(--rule) 60%,transparent)}.row-main{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.row-main span{font-size:.9rem;color:var(--fg)}.row-main strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;font-size:.9rem;white-space:nowrap}.decomposition-section li small{display:block;margin-top:.2rem;font-size:.78rem;color:var(--muted);line-height:1.4}.decomposition-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:1rem;margin-top:.5rem;border-top:2px solid var(--fg);font-size:1.1rem}.decomposition-total span{font-weight:600}.decomposition-total strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;font-size:1.25rem}.positive{color:var(--brand-green-dark, #058446)}.negative{color:#c02f2f}.savings-summary{background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:8px;padding:1.5rem;margin:0 0 2rem}.savings-headline{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.25rem}@media (min-width: 700px){.savings-headline{grid-template-columns:repeat(3,1fr)}}.savings-figure{display:flex;flex-direction:column;gap:.25rem}.savings-amount{font-size:1.85rem;font-weight:800;letter-spacing:-.025em;color:var(--fg);line-height:1}.savings-label{font-size:.85rem;color:var(--muted);line-height:1.35}.savings-breakdown{display:flex;flex-wrap:wrap;gap:.5rem .85rem;align-items:center;font-size:.9rem;color:var(--muted);padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.savings-breakdown strong{color:var(--fg);font-weight:700}.battery-controls,.assumptions{background:var(--field-bg);border:1px solid var(--rule);border-radius:8px;padding:1.25rem}.battery-controls h3,.assumptions h3{margin:0 0 .75rem;font-size:1rem;letter-spacing:-.01em}.battery-controls h3.strategy-heading{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--rule);margin-bottom:.35rem}.hint-compact{margin:0 0 .75rem;font-size:.82rem}.slider-group{display:flex;flex-direction:column;gap:1.4rem}.slider-field{display:flex;flex-direction:column;gap:.35rem}.slider-header{display:flex;justify-content:space-between;align-items:baseline}.slider-label{font-size:.88rem;color:var(--muted);font-weight:500}.slider-value{font-size:1.05rem;color:var(--fg);font-weight:700}.slider-field input[type=range]{width:100%;accent-color:var(--accent)}.range-bounds{display:flex;justify-content:space-between;color:var(--muted);font-size:.74rem}.slider-help{margin:.25rem 0 0;font-size:.78rem;color:var(--muted);line-height:1.5}.strategy-selector{display:flex;flex-direction:column;gap:.5rem}.strategy-selector label{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border:1px solid var(--rule);border-radius:6px;cursor:pointer;margin:0}.strategy-selector label.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.strategy-selector input[type=radio]{margin-top:.2rem;accent-color:var(--accent)}.strategy-label-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem;flex-wrap:wrap}.strategy-selector strong{font-size:.95rem}.strategy-selector small{color:var(--muted);font-size:.8rem;line-height:1.4;display:block}.badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.12rem .45rem;border-radius:3px;line-height:1.4}.badge-recommended{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--brand-green-dark, var(--accent))}.badge-experimental{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}.assumptions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.assumptions-header h3{margin:0}.preset-row label{display:block;margin:0}.preset-row label>span{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.4rem;font-weight:500}.preset-row select{width:100%;padding:.6rem .85rem;font-size:.95rem;font-family:inherit;background:var(--bg);color:var(--fg);border:1px solid var(--rule);border-radius:6px}.assumption-fields{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--rule)}.assumption-fields h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1.25rem 0 .6rem;font-weight:600}.assumption-fields h4:first-child{margin-top:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.field-grid label{display:block;margin:0}.field-grid label>span{font-size:.78rem;color:var(--muted);margin-bottom:.3rem;font-weight:500;display:block}.field-grid input[type=number]{width:100%;padding:.45rem .6rem;font-size:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg);color:var(--fg);border:1px solid var(--rule);border-radius:4px}.monthly-chart{margin-top:1rem;padding:.5rem 0}.chart-tooltip{background:var(--bg);border:1px solid var(--rule);padding:.75rem 1rem;border-radius:6px;font-size:.85rem;box-shadow:0 4px 12px #00000014}.chart-tooltip-month{font-weight:700;color:var(--fg);margin-bottom:.4rem;text-transform:capitalize}.chart-tooltip dl{margin:0;display:grid;grid-template-columns:auto auto;gap:.15rem 1rem}.chart-tooltip dl>div{display:contents}.chart-tooltip dt{color:var(--muted)}.chart-tooltip dd{margin:0;font-weight:600;color:var(--fg);text-align:right}.scenario-toggle{border:1px solid var(--rule);border-radius:8px;margin-top:1.25rem;padding:.85rem 1rem 1rem;background:color-mix(in srgb,var(--bg) 92%,var(--fg));min-width:0;max-width:100%;box-sizing:border-box}.scenario-toggle-header{display:flex;align-items:center;margin-bottom:.1rem}.scenario-toggle-title{font-weight:700;font-size:1rem;color:var(--fg)}.toggle-label{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.95rem;line-height:1.3;font-weight:700;color:var(--fg)}.toggle-label input[type=checkbox]{width:1.1rem;height:1.1rem;cursor:pointer;flex-shrink:0}.scenario-toggle .hint{font-size:.85rem;color:var(--muted);margin:.5rem 0 .75rem;line-height:1.5}.scenario-toggle .hint.warning{color:#8a6d3b;background:#fcf8e3;border-left:3px solid #d4a83a;padding:.5rem .75rem;border-radius:4px}.number-field-with-info{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.number-field-with-info .field-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--muted)}.info-wrapper{position:relative;display:inline-block}.info-button{background:none;border:none;cursor:pointer;padding:0;margin:0;font-size:.9rem;color:var(--accent);line-height:1}.info-button:hover{color:var(--brand-green-dark)}.info-tooltip{position:absolute;top:1.5rem;left:0;z-index:10;width:280px;padding:.65rem .85rem;background:var(--fg);color:var(--bg);border-radius:6px;font-size:.8rem;line-height:1.4;box-shadow:0 4px 12px #0000004d}.info-tooltip:before{content:"";position:absolute;top:-5px;left:8px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--fg)}.sticky-summary{display:none}@media (max-width: 959px){.sticky-summary{display:flex;flex-direction:column;position:sticky;top:0;z-index:100;margin:0 -1rem 1.5rem;background:var(--bg);border-bottom:1px solid var(--rule);box-shadow:0 4px 16px #00000040}.sticky-summary-primary{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 1rem .6rem}.sticky-summary-item{display:flex;flex-direction:column;line-height:1.15;min-width:0;flex:1}.sticky-summary-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.sticky-summary-value{font-size:1.15rem;color:var(--fg);font-weight:700}.sticky-summary-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;padding:0 .75rem .7rem}.sticky-summary-nav button{padding:.4rem .5rem;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;color:var(--accent);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s,border-color .15s}.sticky-summary-nav button:hover,.sticky-summary-nav button:active{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent)}.simulator-layout{display:flex;flex-direction:column}.simulator-main{order:2}.simulator-sidebar{order:1}.scenario-toggle{padding:.75rem .85rem .85rem}.toggle-label{font-size:.92rem}.scenario-toggle-title{font-size:.95rem}.scenario-toggle .hint{font-size:.82rem}.info-tooltip{width:min(260px,calc(100vw - 3rem));left:-100px}.info-tooltip:before{left:108px}.number-field-with-info .field-label{font-size:.82rem}.number-field-with-info input{font-size:1rem;padding:.4rem .6rem}.decomposition-section ul li{padding:.5rem 0}.decomposition-section header{padding:.5rem 0}.decomposition-total{padding:.75rem 0;font-size:1rem}.decomposition-section .row-main{gap:.5rem}.decomposition-section .row-main strong{white-space:nowrap;text-align:right}}.soft-values{margin-top:2.5rem;padding:1.5rem;background:color-mix(in srgb,var(--bg) 92%,var(--fg));border-radius:12px}.soft-values>h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--fg)}.soft-values>.hint{margin:0 0 1.25rem;color:var(--muted);font-size:.9rem}.soft-values ul{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.soft-values li{padding:.85rem 1rem;background:var(--bg);border-radius:8px;border:1px solid var(--rule)}.soft-values li h4{margin:0 0 .35rem;font-size:.95rem;color:var(--fg)}.soft-values li p{margin:0;font-size:.85rem;line-height:1.5;color:var(--muted)}@media (min-width: 720px){.soft-values ul{grid-template-columns:1fr 1fr}}@media (max-width: 959px){.simulator{margin-top:1.5rem;padding-top:1.5rem}.simulator-header h2{font-size:1.5rem;line-height:1.25}.savings-summary{padding:1rem}.savings-headline{flex-wrap:wrap;gap:1rem}.savings-amount{font-size:1.5rem}.savings-label{font-size:.78rem}.savings-breakdown{flex-wrap:wrap;gap:.5rem;font-size:.85rem}.assumption-preset{flex-direction:column;align-items:stretch}.assumption-preset select{width:100%}.field-grid{grid-template-columns:1fr!important}.decomposition{padding:1rem}.monthly-savings-chart text{font-size:11px}}.battery-loader{display:inline-flex;flex-direction:column;align-items:center;gap:.75rem}.battery-loader .battery-cell{opacity:.15;transform-origin:center}.battery-loader .battery-cell-bottom{animation:battery-fill-bottom 2.4s ease-in-out infinite}.battery-loader .battery-cell-middle{animation:battery-fill-middle 2.4s ease-in-out infinite}.battery-loader .battery-cell-top{animation:battery-fill-top 2.4s ease-in-out infinite}@keyframes battery-fill-bottom{0%{opacity:.15}15%{opacity:1}85%{opacity:1}to{opacity:.15}}@keyframes battery-fill-middle{0%,30%{opacity:.15}45%{opacity:1}85%{opacity:1}to{opacity:.15}}@keyframes battery-fill-top{0%,50%{opacity:.15}65%{opacity:1}85%{opacity:1}to{opacity:.15}}.battery-loader-label{font-size:.9rem;color:var(--muted);font-weight:500;text-align:center}@media (prefers-reduced-motion: reduce){.battery-loader .battery-cell{animation:none!important;opacity:1!important}}.connect.connect-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.5rem;min-height:50vh;gap:1.5rem}.connect.connect-loading .hint{max-width:28rem}.scenario-toggle .hint.info-text{color:var(--fg);background:color-mix(in srgb,var(--accent) 8%,transparent);border-left:3px solid var(--accent);padding:.55rem .8rem;border-radius:4px}.preset-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.5rem 0}.preset-button{padding:.55rem .35rem;background:color-mix(in srgb,var(--fg) 6%,transparent);border:1.5px solid color-mix(in srgb,var(--fg) 18%,transparent);border-radius:8px;color:var(--fg);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;min-height:2.4rem;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-button:hover{background:color-mix(in srgb,var(--fg) 10%,transparent);border-color:color-mix(in srgb,var(--fg) 30%,transparent)}.preset-button.active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);color:var(--accent)}.preset-button.active:hover{background:color-mix(in srgb,var(--accent) 24%,transparent)}.preset-description{margin:.4rem 0 .8rem!important;font-size:.82rem!important;font-style:italic}.details-toggle{background:transparent;border:none;color:var(--accent);font-size:.85rem;font-weight:500;cursor:pointer;padding:.3rem 0;text-decoration:underline;text-underline-offset:3px}.details-toggle:hover{color:var(--brand-green-dark)}.payback-good{color:var(--accent)}.payback-warning{color:#d4a83a}.payback-critical{color:#d4585e}.sticky-summary-sublabel{display:block;font-size:.7rem;color:var(--muted);margin-top:.1rem;font-weight:400}.savings-sublabel{display:block;font-size:.78rem;color:var(--muted);margin-top:.25rem;font-style:italic}.fuse-warning{margin:.5rem 0 0;padding:.6rem .8rem;font-size:.82rem;line-height:1.45;color:var(--fg);background:color-mix(in srgb,#d4a83a 14%,transparent);border-left:3px solid #d4a83a;border-radius:4px}.lifetime-summary{margin:1.25rem 0;padding:1rem 1.1rem;background:color-mix(in srgb,var(--fg) 4%,transparent);border-radius:8px;border:1px solid color-mix(in srgb,var(--fg) 12%,transparent)}.lifetime-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;gap:1rem}.lifetime-row+.lifetime-row{border-top:1px dashed color-mix(in srgb,var(--fg) 15%,transparent)}.lifetime-label{font-size:.9rem;color:var(--muted)}.lifetime-value{font-size:1rem;font-weight:600;white-space:nowrap}.lifetime-net .lifetime-value{font-size:1.1rem}.poor-roi-suggestions{margin-top:1.25rem;padding:1rem 1.1rem;background:color-mix(in srgb,#d4a83a 12%,transparent);border-left:3px solid #d4a83a;border-radius:6px}.poor-roi-suggestions h4{margin:0 0 .65rem;font-size:.95rem;font-weight:600}.poor-roi-suggestions ul{margin:0;padding-left:1.2rem;list-style:disc}.poor-roi-suggestions li{font-size:.85rem;line-height:1.5;margin-bottom:.5rem;color:var(--fg)}.poor-roi-suggestions li:last-child{margin-bottom:0}.poor-roi-suggestions strong{font-weight:600}.sticky-summary.is-pending,.savings-summary.is-pending{opacity:.55;transition:opacity .15s}.sticky-summary,.savings-summary{transition:opacity .25s}.forward-looking-note{margin:.6rem 0 0;font-size:.82rem;line-height:1.5;color:var(--muted);font-style:italic;max-width:60ch}.chart-tooltip{background:var(--bg);color:var(--fg);padding:.55rem .7rem;border:1px solid var(--rule);border-radius:6px;font-size:.82rem;box-shadow:0 4px 12px #0000001f;min-width:160px}.chart-tooltip-label{font-weight:600;margin-bottom:.35rem;text-transform:capitalize}.chart-tooltip-row{display:flex;justify-content:space-between;gap:1rem;padding:.15rem 0}.chart-tooltip-row strong{font-weight:600;white-space:nowrap}.chart-tooltip-diff{margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--rule)}.monthly-cost-chart{margin:1rem 0 1.5rem}.collapsible-section{margin:1.5rem 0}.collapsible-header{width:100%;display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--fg) 4%,transparent);border:1px solid color-mix(in srgb,var(--fg) 12%,transparent);border-radius:8px;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s,border-color .15s}.collapsible-header:hover{background:color-mix(in srgb,var(--fg) 7%,transparent);border-color:color-mix(in srgb,var(--fg) 18%,transparent)}.collapsible-header.is-open{border-radius:8px 8px 0 0;border-bottom:none;background:color-mix(in srgb,var(--fg) 5%,transparent)}.collapsible-title{flex:1;font-size:1rem;font-weight:600;color:var(--fg)}.collapsible-summary{font-size:.82rem;color:var(--muted);font-style:italic;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.collapsible-icon{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:400;color:var(--muted);border:1px solid color-mix(in srgb,var(--fg) 18%,transparent);border-radius:50%}.collapsible-content{border:1px solid color-mix(in srgb,var(--fg) 12%,transparent);border-top:none;border-radius:0 0 8px 8px;padding:1.25rem}.collapsible-content>.decomposition{margin:0;padding:0;background:transparent;border:none}.collapsible-content>.decomposition>h3,.collapsible-content>.decomposition>.hint{display:none}.collapsible-content>.usage-timing-panel{margin:0}@media (max-width: 480px){.collapsible-summary{display:none}}@media (max-width: 720px){.sticky-summary-primary{gap:.5rem}.sticky-summary-item .sticky-summary-label{font-size:.65rem}.sticky-summary-item .sticky-summary-value{font-size:1rem}.sticky-summary-item .sticky-summary-sublabel{font-size:.65rem}}.investment-plans-panel{margin-top:1.5rem;border:1px solid var(--rule);border-radius:12px;background:color-mix(in srgb,var(--bg) 96%,transparent)}.investment-plans-toggle{width:100%;display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:transparent;border:none;border-radius:12px;cursor:pointer;text-align:left;color:var(--fg);font-family:inherit;font-size:.95rem}.investment-plans-toggle:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.investment-plans-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;flex-shrink:0;margin-top:.1rem}.investment-plans-toggle-text{display:flex;flex-direction:column;gap:.25rem;flex:1}.investment-plans-toggle-text small{color:var(--muted);font-size:.85rem;line-height:1.4}.investment-plans-content{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:1rem}.investment-plans-intro,.investment-plans-empty{font-size:.9rem;color:var(--muted);line-height:1.5;margin:0}.investment-plans-empty{text-align:center;padding:1rem;border:1px dashed var(--rule);border-radius:8px}.investment-plans-disclaimer{font-size:.8rem;color:var(--muted);line-height:1.5;margin:0;padding:.6rem .8rem;background:color-mix(in srgb,var(--muted) 8%,transparent);border-radius:6px}.plan-editor{border:1px solid var(--rule);border-radius:10px;padding:1rem;background:var(--bg);display:flex;flex-direction:column;gap:.85rem}.plan-editor.is-disabled{opacity:.55}.plan-editor-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.plan-editor-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:1rem}.plan-editor-toggle input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.plan-editor-remove{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;font-family:inherit}.plan-editor-remove:hover{color:var(--fg);background:color-mix(in srgb,var(--muted) 10%,transparent)}.plan-editor-help{font-size:.82rem;color:var(--muted);line-height:1.45;margin:0}.plan-editor-row{display:flex;flex-direction:column;gap:.5rem}.plan-editor-label{font-size:.85rem;color:var(--muted);font-weight:600}.plan-editor-levels{display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width: 720px){.plan-editor-levels{grid-template-columns:repeat(3,1fr)}}.plan-editor-level{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:8px;cursor:pointer;background:var(--bg);transition:all .15s ease}.plan-editor-level:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--rule))}.plan-editor-level.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.plan-editor-level input[type=radio]{display:none}.plan-editor-level-label{font-weight:600;font-size:.9rem}.plan-editor-level small{color:var(--muted);font-size:.78rem;line-height:1.35}.plan-editor-level-kwh{font-weight:600;color:var(--accent)!important;margin-top:.15rem}.plan-editor-cost{display:flex;align-items:center;gap:.5rem}.plan-editor-cost input{width:100px;padding:.4rem .6rem;border:1px solid var(--rule);border-radius:6px;background:var(--bg);color:var(--fg);font-family:inherit;font-size:.95rem}.plan-editor-cost span{color:var(--muted);font-size:.85rem}.plan-editor-summary{display:flex;gap:1rem;flex-wrap:wrap;padding:.7rem .8rem;background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:8px}.plan-editor-summary-item{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:100px}.plan-editor-summary-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.plan-editor-summary-item strong{font-size:.95rem;color:var(--fg)}.investment-plans-add{display:flex;flex-direction:column;gap:.5rem}.investment-plans-add-label{font-size:.85rem;color:var(--muted)}.investment-plans-add-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.investment-plans-add-button{padding:.5rem .85rem;border:1px dashed var(--accent);border-radius:6px;background:transparent;color:var(--accent);font-size:.85rem;cursor:pointer;font-family:inherit}.investment-plans-add-button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.winter-insight-card{display:flex;gap:1rem;margin-top:1.5rem;padding:1.1rem 1.2rem;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,#4a90e2 12%,transparent),color-mix(in srgb,#4a90e2 4%,transparent));border:1px solid color-mix(in srgb,#4a90e2 25%,var(--rule))}.winter-insight-icon{font-size:1.8rem;flex-shrink:0;line-height:1;color:#4a90e2}.winter-insight-content{display:flex;flex-direction:column;gap:.55rem;flex:1}.winter-insight-title{margin:0;font-size:1rem;color:var(--fg)}.winter-insight-text{margin:0;font-size:.9rem;line-height:1.55;color:var(--fg)}.winter-insight-text strong{color:#4a90e2;font-weight:700}.winter-insight-cta{align-self:flex-start;margin-top:.3rem;padding:.55rem 1rem;border:none;border-radius:6px;background:#4a90e2;color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;font-family:inherit}.winter-insight-cta:hover{background:color-mix(in srgb,#4a90e2 90%,black)}@media (max-width: 600px){.winter-insight-card{flex-direction:column;gap:.7rem}}.usage-timing-panel{display:flex;flex-direction:column;gap:1.2rem}.usage-timing-header{display:flex;gap:1.2rem;align-items:stretch}@media (max-width: 600px){.usage-timing-header{flex-direction:column}}.usage-timing-score{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.1rem 1.4rem;border-radius:12px;min-width:160px;text-align:center;gap:.3rem}.usage-timing-score.is-good{background:color-mix(in srgb,#49ab3a 15%,transparent);border:1px solid color-mix(in srgb,#49ab3a 35%,var(--rule))}.usage-timing-score.is-neutral{background:color-mix(in srgb,var(--muted) 12%,transparent);border:1px solid var(--rule)}.usage-timing-score.is-poor{background:color-mix(in srgb,#e89c2e 15%,transparent);border:1px solid color-mix(in srgb,#e89c2e 35%,var(--rule))}.usage-timing-score-value{font-size:2.4rem;font-weight:700;line-height:1;color:var(--fg);display:flex;align-items:baseline;gap:.2rem}.usage-timing-score-max{font-size:.95rem;color:var(--muted);font-weight:500}.usage-timing-score-label{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.usage-timing-score-scale{display:flex;justify-content:space-between;width:100%;font-size:.7rem;color:var(--muted);margin-top:.35rem;padding-top:.35rem;border-top:1px dashed color-mix(in srgb,var(--muted) 35%,transparent)}.usage-timing-summary{display:flex;flex-direction:column;justify-content:center;gap:.65rem;flex:1}.usage-timing-summary-item{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--rule)}.usage-timing-summary-item:last-child{border-bottom:none}.usage-timing-summary-label{font-size:.85rem;color:var(--muted)}.usage-timing-summary-item strong{font-size:1rem;color:var(--fg);font-weight:700}.usage-timing-value-positive{color:#49ab3a!important}.usage-timing-value-negative{color:#e89c2e!important}.usage-timing-description{margin:0;font-size:.95rem;line-height:1.55;color:var(--fg);padding:.9rem 1rem;background:color-mix(in srgb,var(--accent) 5%,transparent);border-radius:8px}.usage-timing-chart-wrapper{display:flex;flex-direction:column;gap:.5rem}.usage-timing-chart-title{margin:0;font-size:1rem;color:var(--fg)}.usage-timing-chart-help{margin:0 0 .5rem;font-size:.85rem;color:var(--muted);line-height:1.5}.privacy-notice{font-size:.75rem;color:var(--muted);line-height:1.5;margin:0;max-width:60ch}.grid-operator-selector{margin-top:1.5rem;padding:1rem;border:1px solid var(--rule);border-radius:12px;background:color-mix(in srgb,var(--bg) 96%,transparent)}.grid-operator-label{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:.45rem}.grid-operator-select{width:100%;padding:.6rem .75rem;border:1px solid var(--rule);border-radius:8px;background:var(--bg);color:var(--fg);font-family:inherit;font-size:.95rem;cursor:pointer}.grid-operator-select:focus{outline:2px solid var(--accent);outline-offset:1px}.grid-operator-help{font-size:.78rem;color:var(--muted);line-height:1.5;margin:.6rem 0 0}.connect-error{margin-top:1rem;padding:.85rem 1rem;border-radius:8px;background:color-mix(in srgb,#e89c2e 8%,transparent);border:1px solid color-mix(in srgb,#e89c2e 25%,var(--rule))}.connect-error .error{margin:0}.connect-error .hint{margin:.35rem 0 0;font-size:.85rem}.simulator-footer-meta{display:flex;flex-direction:column;gap:.6rem;max-width:60ch}.simulator-footer-contact{font-size:.85rem;color:var(--muted);margin:0}.grid-operator-row{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.grid-operator-row:last-of-type{margin-bottom:0}.connect-landing{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:2rem}.cta-primary{font-size:1.25rem;font-weight:600;padding:1rem 2rem;background:var(--accent);color:#fff;border:none;border-radius:12px;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 25%,transparent)}.cta-primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 35%,transparent)}.cta-primary:active{transform:translateY(0)}@media (max-width: 600px){.cta-primary{width:100%;max-width:320px}}
