/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--spacing:.25rem;--radius-md:.375rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--font-display:var(--font-display);--radius-card:var(--radius-card);--radius-input:var(--radius-input);--radius-pill:var(--radius-pill)}}@layer base,components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.min-h-full{min-height:100%}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.gap-5{gap:calc(var(--spacing) * 5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--euc-50:#edf2ee;--euc-100:#d3e0d6;--euc-200:#a3bca9;--euc-400:#4a7a63;--euc-600:#1f4a3c;--euc-800:#163529;--euc-900:#0d211a;--terra-50:#fbf0e9;--terra-100:#f2d5c2;--terra-200:#e4ae8c;--terra-400:#d4834f;--terra-600:#de6a34;--terra-800:#b94f21;--terra-900:#5e2d17;--green-deep:#14312a;--green-deeper:#0e241e;--cream-page:#e7e2d3;--cream-card:#f7f4ec;--ink-soft:#55605a;--paper:#f4f1e8;--paper-soft:#a9bbb2;--muted:#918d80;--accent:#de6a34;--accent-deep:#b94f21;--accent-contrast:#c4551f;--accent-contrast-hover:#a8481a;--accent-tint:#de6a341f;--dock-panel:#fbf8f1;--blue:#4fa3d1;--track-dark:#f4f1e829;--track-light:#e3dfd0;--canvas:var(--cream-page);--surface:#fff;--surface-sunken:var(--cream-card);--surface-deep:var(--green-deep);--surface-raised-on-dark:#214438;--border:#e4ded2;--border-strong:#d2c9b8;--ink:#1e2420;--ink-secondary:var(--ink-soft);--ink-muted:var(--muted);--on-deep:var(--paper);--on-deep-muted:var(--paper-soft);--primary:var(--accent);--primary-hover:var(--accent-deep);--on-primary:var(--paper);--structure:var(--euc-600);--surplus:var(--euc-600);--deficit:var(--accent);--success:#2f7d5c;--warning:#a9761a;--danger:#b3392f;--focus-ring:var(--euc-400);--chart-1:#1f4a3c;--chart-2:var(--accent);--chart-3:#4a7a63;--chart-4:#e4ae8c;--chart-5:#a3bca9;--chart-6:#b5ab99;--font-display:"Lora", "Source Serif 4", Georgia, serif;--energy-generated:#4c9fcb;--energy-used:#a9b5ad;--energy-discharge:#7fd9a8;--ring-track:#1f4036;--card-raised:#1a3a32;--card-border:#2e4b42;--hero-bg:#17302a;--font-body:"Inter", system-ui, sans-serif;--radius-pill:999px;--radius-card:12px;--radius-input:10px;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23918D80' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");font-family:var(--font-body);color:var(--ink);background-color:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{background-color:var(--canvas);min-width:320px;min-height:100vh;color:var(--ink);margin:0}#root{width:100%;min-height:100vh}h1,h2{font-family:var(--font-display);color:var(--ink);font-weight:500;line-height:1.25}a{color:var(--ink-secondary);font-weight:500;text-decoration:underline}button{font-family:inherit}a:focus,a:focus-visible,button:focus,button:focus-visible,input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible,[role=radio]:focus,[role=radio]:focus-visible,[role=button]:focus,[role=button]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:.7rem;font-weight:600}::selection{background:var(--euc-200);color:var(--euc-900)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.app{width:100%;min-height:100vh}.app-notice{border-radius:var(--radius-input);background:var(--terra-50);color:var(--ink);margin:.9rem 1.15rem 0;padding:.7rem 1rem;font-size:.85rem}@media (width>=900px){.app-notice{margin:1.2rem 2.4rem 0}}.ui-btn{font-family:var(--font-body);border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;width:100%;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;line-height:1.2;display:inline-flex}.ui-btn:disabled{opacity:.6;cursor:not-allowed}.ui-btn--primary{background:var(--primary);color:var(--on-primary)}.ui-btn--primary:hover:not(:disabled){background:var(--primary-hover)}.ui-btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--euc-800)}.ui-btn--ghost{color:var(--ink-secondary);background:0 0;width:auto;padding:.35rem .2rem;font-weight:500;text-decoration:underline}.ui-btn--outline-accent{color:var(--primary);border-color:var(--primary);white-space:nowrap;background:0 0;width:auto;padding:.55rem 1rem}.ui-btn--danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.ui-btn--edit{background:var(--surface);width:auto;color:var(--ink);border-color:var(--border);padding:.4rem .85rem;font-size:.85rem;font-weight:600}.ui-field{text-align:left;flex-direction:column;gap:.45rem;display:flex}.ui-field__label-row{align-items:center;gap:.4rem;display:flex}.ui-field__label{color:var(--ink);font-size:.92rem;font-weight:600}.ui-field__hint{color:var(--ink-secondary);margin:0;font-size:.8rem}.ui-field__error{color:var(--danger);align-items:flex-start;gap:.4rem;margin:0;font-size:.82rem;display:flex}.ui-input,.ui-select{width:100%;font-family:var(--font-body);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-input);min-height:3rem;padding:.8rem .9rem;font-size:.95rem;font-weight:400}.ui-select{appearance:none;background-image:var(--select-chevron);background-position:right .85rem center;background-repeat:no-repeat;padding-right:2.4rem}.ui-input::placeholder,.ui-select:invalid{color:var(--ink-muted)}.ui-input:focus,.ui-select:focus,.ui-search__input:focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ui-input--error,.ui-select--error,.ui-search--error .ui-search__input{border-color:var(--danger)}.ui-input-wrap{align-items:center;display:flex;position:relative}.ui-input-wrap .ui-input{padding-right:3.2rem}.ui-input-wrap--prefix .ui-input{padding-left:2rem;padding-right:3.4rem}.ui-input__affix{color:var(--ink-secondary);pointer-events:none;font-size:.88rem;position:absolute}.ui-input__affix--prefix{left:.85rem}.ui-input__affix--suffix{right:.85rem}.ui-input__icon{color:var(--ink-secondary);display:flex;position:absolute;right:.85rem}.ui-toggle{background:var(--surface-sunken);border-radius:var(--radius-pill);gap:.15rem;padding:.2rem;display:flex;position:relative}.ui-toggle__highlight{z-index:0;box-sizing:border-box;border-radius:var(--radius-pill);background:var(--surface);border:.5px solid var(--border-strong);opacity:0;pointer-events:none;position:absolute;top:0;left:0}.ui-toggle__highlight.is-visible{opacity:1}.ui-toggle__highlight.is-ready{transition:transform .22s var(--ease-out,cubic-bezier(.22, 1, .36, 1)), width .22s var(--ease-out,cubic-bezier(.22, 1, .36, 1)), height .22s var(--ease-out,cubic-bezier(.22, 1, .36, 1))}.ui-toggle__option{z-index:1;color:var(--ink-secondary);border-radius:var(--radius-pill);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;padding:.55rem .4rem;font-size:.88rem;font-weight:500;position:relative}.ui-toggle__option.is-selected{color:var(--ink);font-weight:600}.ui-toggle:not(:has(.ui-toggle__highlight.is-visible)) .ui-toggle__option.is-selected{background:var(--surface);border:.5px solid var(--border-strong)}.ui-progress{flex-direction:column;gap:.45rem;display:flex}.ui-progress__label{color:var(--ink-secondary);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;font-size:.78rem;font-weight:500;display:flex}.ui-progress__track{background:var(--surface-sunken);border-radius:var(--radius-pill);height:4px;overflow:hidden}.ui-progress__fill{background:var(--euc-600);border-radius:var(--radius-pill);height:100%}.ui-callout{border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface-sunken);text-align:left;align-items:flex-start;gap:.7rem;padding:.9rem 1rem;display:flex}.ui-callout--success{background:var(--euc-50);color:var(--euc-800);border-color:#0000}.ui-callout--accent{background:var(--terra-50);border-color:var(--terra-200)}.ui-callout--action{justify-content:space-between;align-items:center}.ui-callout__title{margin:0 0 .15rem;font-size:.92rem;font-weight:700}.ui-callout__body{color:var(--ink-secondary);margin:0;font-size:.85rem}.ui-callout--success .ui-callout__body{color:var(--euc-800)}.ui-radio-list{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}.ui-radio-list__row{border:0;border-bottom:1px solid var(--border);width:100%;font-family:var(--font-body);text-align:left;cursor:pointer;color:var(--ink);background:0 0;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.ui-radio-list__row:last-child{border-bottom:0}.ui-radio-list__mark{border:1.5px solid var(--border-strong);border-radius:50%;flex-shrink:0;place-items:center;width:1.1rem;height:1.1rem;display:grid}.ui-radio-list__mark:after{content:"";background:var(--euc-800);width:.55rem;height:.55rem;transition:transform .18s var(--ease-out,cubic-bezier(.22, 1, .36, 1));border-radius:50%;transform:scale(0)}.ui-radio-list__row.is-selected .ui-radio-list__mark{border-color:var(--euc-800)}.ui-radio-list__row.is-selected .ui-radio-list__mark:after{transform:scale(1)}.ui-radio-list__meta{flex-direction:column;gap:.1rem;display:flex}.ui-radio-list__label{font-size:.92rem;font-weight:600}.ui-radio-list__hint{color:var(--ink-secondary);font-size:.8rem}.ui-choice-list{flex-direction:column;gap:.55rem;display:flex}.ui-choice{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);color:var(--ink);align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.ui-choice.is-selected{border-color:var(--euc-800)}.ui-choice__icon{background:var(--euc-50);width:2.1rem;height:2.1rem;color:var(--euc-600);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ui-choice__title{margin:0;font-size:.95rem;font-weight:700}.ui-choice__desc{color:var(--ink-secondary);margin:0;font-size:.8rem}.ui-dir-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.ui-dir{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-input);cursor:pointer;font-family:var(--font-body);color:var(--ink-secondary);flex-direction:column;align-items:center;gap:.35rem;padding:.7rem .3rem;display:flex}.ui-dir.is-selected{border-color:var(--euc-800);color:var(--ink)}.ui-dir__mark{z-index:0;border:1px solid var(--border);border-radius:50%;place-items:center;width:1.85rem;height:1.85rem;font-size:.75rem;font-weight:700;display:grid;position:relative;overflow:hidden}.ui-dir__mark:before{content:"";z-index:-1;border-radius:inherit;background:var(--euc-800);transition:transform .18s var(--ease-out,cubic-bezier(.22, 1, .36, 1));position:absolute;inset:-1px;transform:scale(0)}.ui-dir.is-selected .ui-dir__mark{border-color:var(--euc-800);color:var(--on-deep)}.ui-dir.is-selected .ui-dir__mark:before{transform:scale(1)}.ui-dir--wide{flex-direction:row;grid-column:1/-1;justify-content:center}.ui-stepper{align-items:center;gap:.65rem;display:flex}.ui-stepper__btn{background:var(--euc-50);width:2.6rem;height:2.6rem;color:var(--euc-600);cursor:pointer;border:0;border-radius:.55rem;font-size:1.2rem;font-weight:600}.ui-stepper__value{text-align:center;flex:1;font-size:1.15rem;font-weight:600}.ui-search{flex-direction:column;gap:.5rem;display:flex}.ui-search__input-wrap{position:relative}.ui-search__input-wrap svg{color:var(--ink-secondary);position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.ui-search__input{width:100%;font-family:var(--font-body);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-input);min-height:3rem;padding:.8rem 2.4rem .8rem 2.5rem;font-size:.95rem}.ui-search__chevron{color:var(--ink-secondary);pointer-events:none;position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.ui-search__list{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);max-height:16rem;overflow:auto}.ui-search__heading{color:var(--ink-secondary);padding:.65rem 1rem .25rem;font-size:.75rem;font-weight:600}.popover-anchor{position:relative}.popover{z-index:20;background:var(--surface);width:13rem;color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-input);text-align:left;padding:.55rem .75rem;font-size:.78rem;font-weight:500;line-height:1.35;position:absolute}.popover--right{top:50%;left:calc(100% + .6rem);transform:translateY(-50%)}.popover--bottom{top:calc(100% + .5rem);left:0}.popover--bottom-end{top:calc(100% + .5rem);right:0}.ui-icon-btn{color:inherit;display:inline-flex}.form-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{color:var(--ink);align-items:center;gap:.55rem;font-size:1rem;font-weight:700;display:flex}.brand--button{cursor:pointer;background:0 0;border:0;padding:0}.brand--wordmark{gap:0}.brand__logo{width:auto;max-width:13.5rem;height:2.1rem;display:block}@media (width>=900px){.brand--desktop-hidden{display:none}}.brand__mark{background:var(--terra-600);width:1.7rem;height:1.7rem;color:var(--on-primary);border-radius:50%;place-items:center;display:grid}.location-pill{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.location-pill__dot{background:var(--euc-600);border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem}.location-control-wrap{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.location-control{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:.35rem;padding:.22rem .28rem .22rem .7rem;display:inline-flex}.location-control__input{width:4.2rem;font-family:var(--font-body);color:var(--ink);background:0 0;border:0;padding:.25rem 0;font-size:.8rem;font-weight:600}.location-control__input:focus{outline:2px solid var(--focus-ring);outline-offset:2px}.location-control__place{color:var(--ink-secondary);white-space:nowrap;font-size:.75rem;font-weight:600}.location-control__locate{background:var(--surface-sunken);width:1.9rem;height:1.9rem;color:var(--ink);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.location-control__locate:hover:not(:disabled){background:var(--euc-50);color:var(--euc-600)}.location-control__locate:disabled{opacity:.6;cursor:progress}.location-control__error,.location-control__hint{text-align:right;max-width:16rem;margin:0;font-size:.72rem}.location-control__error{color:var(--danger)}.location-control__hint{color:var(--ink-secondary)}.form-actions{flex-direction:column;gap:.9rem;margin-top:.4rem;display:flex}.form-actions__row{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.form-actions__skip{flex-direction:column;align-items:center;gap:.15rem;display:flex}.form-actions__skip-note{color:var(--ink-secondary);margin:0;font-size:.78rem}.ui-progress__count{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:400}.ui-group{flex-direction:column;gap:1.1rem;display:flex}.ui-group+.ui-group{border-top:1px solid var(--border);margin-top:.5rem;padding-top:1.6rem}.ui-group__head{flex-direction:column;gap:.2rem;display:flex}.ui-group__title{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--structure);margin:0;font-size:.76rem;font-weight:600}.ui-group__hint{color:var(--ink-muted);margin:0;font-size:.82rem;line-height:1.5}.ui-group__fields{flex-direction:column;gap:1.15rem;display:flex}@media (prefers-reduced-motion:reduce){.ui-progress__fill{transition:none}}.app-shell{grid-template-columns:1fr;min-height:100vh;display:grid}.app-shell--no-rail{grid-template-columns:1fr}.app-shell--no-rail .app-shell__main{width:100%}.app-rail{display:none}.app-shell__main{background:var(--canvas);min-width:0;min-height:100vh}.brand--inverse{color:var(--on-deep)}.brand__mark--logo{background:0 0;border-radius:.45rem;width:1.85rem;height:1.85rem;padding:0;overflow:hidden}.brand__mark--logo .ui-icon-img{object-fit:cover;width:100%;height:100%;display:block}@media (width>=900px){.app-shell:not(.app-shell--no-rail){grid-template-columns:4.25rem 1fr}.app-shell--no-rail{grid-template-columns:minmax(0,1fr)}.app-shell--no-rail .app-shell__main{grid-column:1/-1;width:100%;max-width:none}.app-shell--no-rail .app-shell__main:has(.rain-hub-page){background:var(--green-deeper)}.app-rail{background:var(--euc-900);color:var(--euc-200);flex-direction:column;align-items:center;gap:2rem;height:100vh;padding:1.1rem .35rem 1.4rem;display:flex;position:sticky;top:0}.app-rail .brand__word{display:none}.app-rail__nav{flex-direction:column;flex:1;gap:.55rem;width:100%;display:flex;position:relative;overflow:visible}.app-rail__highlight{z-index:0;background:var(--euc-800);border-left:3px solid var(--terra-600);opacity:0;pointer-events:none;border-radius:.7rem;width:100%;position:absolute;top:0;left:0}.app-rail__highlight.is-visible{opacity:1}.app-rail__highlight.is-ready{transition:transform .22s var(--ease-out,cubic-bezier(.22, 1, .36, 1)), height .22s var(--ease-out,cubic-bezier(.22, 1, .36, 1))}.app-rail__item-wrap{z-index:1;width:100%;position:relative}.app-rail__item{width:100%;color:var(--euc-200);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;border-radius:.7rem;flex-direction:column;align-items:center;gap:.3rem;margin:0;padding:.55rem .2rem;font-size:.68rem;font-weight:500;display:flex}.app-rail__item.is-unavailable{opacity:.55;cursor:not-allowed}.app-rail__item.is-locked{opacity:.55;cursor:pointer}@keyframes app-rail-tremble{0%,to{transform:translate(0)}18%{transform:translate(-4px)}36%{transform:translate(4px)}54%{transform:translate(-3px)}72%{transform:translate(3px)}90%{transform:translate(-1px)}}.app-rail__item.is-trembling{animation:.48s ease-in-out app-rail-tremble}.app-rail__item:hover{color:var(--on-deep);background:var(--euc-800)}.app-rail__item:active{--hover-scale:.96}.app-rail__item.is-active{color:var(--on-primary)}.app-rail:not(:has(.app-rail__highlight.is-visible)) .app-rail__item.is-active{background:var(--euc-800);border-left-color:var(--terra-600)}.app-rail__item.is-active:hover{color:var(--on-primary)}.app-rail__footer{opacity:.92;flex-direction:column;gap:.55rem;width:100%;margin-top:.35rem;display:flex}.app-rail__footer:hover{opacity:1}}.app-under-intro{display:contents}.welcome{flex-direction:column;display:flex}.welcome__brand{margin:1.25rem 1.15rem 0}.band{background:var(--canvas);width:100%}.band--deep{background:var(--surface-deep);color:var(--on-deep)}.band--deep h1,.band--deep h2{color:var(--on-deep)}.band--deep .eyebrow{color:var(--on-deep-muted)}.band__inner{width:min(64rem,100%);margin:0 auto;padding:2.5rem 1.15rem}.hero{flex-direction:column;gap:2rem;display:flex}.hero__copy{flex-direction:column;gap:.9rem;display:flex}.hero__copy h1{margin:.35rem 0 0;font-size:2.15rem}.hero__lede{color:var(--ink-secondary);margin:0;font-size:1rem}.band--deep .hero__lede{color:var(--on-deep)}.hero__actions{flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.4rem;display:flex}.hero__actions .ui-btn--primary{width:auto;padding-left:1.75rem;padding-right:1.75rem}.hero__art{justify-content:center;align-items:center;display:flex}.hero-house{width:100%;max-width:22rem;margin:0 auto}.hero-house__stage{width:100%;position:relative}.hero-house__svg{width:100%;height:auto;display:block;overflow:visible}.hero-house__face{stroke:var(--euc-900);stroke-width:.85px;stroke-linejoin:miter;transition:fill .15s,stroke .15s}.hero-house__face--far{fill:var(--euc-800)}.hero-house__face--mid{fill:var(--euc-600)}.hero-house__face--side{fill:var(--euc-800)}.hero-house__face--front{fill:var(--euc-400)}.hero-house__face--roof-back{fill:var(--euc-800)}.hero-house__face--solar{fill:var(--euc-600)}.hero-house__face--solar:hover{fill:var(--euc-400)}.hero-house__face--battery{fill:var(--euc-800)}.hero-house__face--battery:hover{fill:var(--euc-600);stroke:var(--terra-600);stroke-width:1.35px}.hero-house__door{fill:var(--euc-800);stroke:var(--euc-900);stroke-width:.7px;pointer-events:none}.hero-house__window{fill:var(--euc-200);stroke:var(--euc-900);stroke-width:.7px;pointer-events:none}.hero-house__panel{fill:var(--euc-200);pointer-events:none}.hero-house__link{stroke:var(--euc-400);stroke-width:1.6px;fill:none;stroke-linecap:round}.hero-house__node{fill:var(--euc-400);stroke:var(--euc-900);stroke-width:.6px}.hero-house__badge{background:var(--terra-600);width:2rem;height:2rem;color:var(--on-primary);border:2px solid var(--surface-deep);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute}.hero-house__badge--sun{top:12%;left:26%}.hero-house__badge--battery{top:46%;left:6%}@media (prefers-reduced-motion:reduce){.hero-house__face{transition:none}}.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.section-head h2{margin:0}.card-grid{grid-template-columns:1fr;gap:1rem;display:grid;overflow:visible}.feature-card,.article-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-card);text-align:left;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.25rem 1.25rem 1.4rem;display:flex}.article-card{font-family:var(--font-body);color:inherit;font-weight:400;text-decoration:none}.feature-card h3,.article-card h3{font-family:var(--font-body);color:var(--ink);margin:.3rem 0 0;font-size:1rem;font-weight:700}.article-card p{color:var(--ink-secondary);margin:0;font-size:.85rem}.feature-card__icon{background:var(--euc-600);width:2.4rem;height:2.4rem;color:var(--on-primary);border-radius:.6rem;place-items:center;display:grid}.feature-card__desc{color:var(--ink-secondary);margin:0;font-size:.88rem}.article-card__source{color:var(--euc-600);margin-top:.3rem;font-size:.75rem;font-weight:600}.article-card:hover{border-color:var(--border-strong)}.article-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);margin-top:.5rem;padding:.15rem .55rem;font-size:.68rem;font-weight:600}.status-pill--available{background:var(--euc-50);color:var(--euc-800)}.status-pill--soon{background:var(--surface-sunken);color:var(--ink-secondary)}.vpp-explainer{--vpp-exp-coral:var(--terra-400);--vpp-exp-coral-strong:var(--primary);--vpp-exp-teal:var(--success);--vpp-exp-cream:var(--on-deep);--vpp-exp-muted:#f2ede39e;flex-direction:column;gap:.85rem;display:flex}.vpp-explainer__card{--vpp-exp-coral:var(--terra-400);--vpp-exp-coral-strong:var(--primary);--vpp-exp-teal:var(--success);--vpp-exp-cream:var(--on-deep);--vpp-exp-muted:#f2ede39e;background:var(--surface-deep);color:var(--vpp-exp-cream);border-radius:16px;flex-direction:column;margin:0;padding:clamp(1.15rem,2.4vw,1.5rem) clamp(1.15rem,2.6vw,1.85rem) clamp(1.1rem,2.2vw,1.35rem);display:flex}.vpp-explainer>.vpp-explainer__card{min-height:24.5rem}.vpp-explainer__head{margin:0 0 .95rem}.vpp-explainer__eyebrow{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--vpp-exp-coral-strong);margin:0 0 .45rem;font-size:.7rem;font-weight:600}.vpp-explainer__title{font-family:var(--font-display);color:var(--vpp-exp-cream);margin:0;font-size:clamp(1.55rem,3vw,1.85rem);font-weight:500;line-height:1.2}.vpp-explainer__layout{flex-direction:column;flex:auto;align-items:stretch;gap:1.5rem;min-height:0;display:flex}.vpp-explainer__diagram{width:100%;max-width:22rem;margin:0 auto}.vpp-explainer__diagram:empty{display:none}.vpp-shortfall-bars{flex-direction:column;gap:1rem;width:100%;max-width:22rem;margin:0 auto;padding:.35rem 0 .15rem;display:flex}.vpp-shortfall-bars__row{flex-direction:column;gap:.4rem;display:flex}.vpp-shortfall-bars__meta{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.vpp-shortfall-bars__label{letter-spacing:.08em;text-transform:uppercase;color:var(--paper-soft);font-size:.72rem;font-weight:600}.vpp-shortfall-bars__value{font-family:var(--font-display);color:var(--paper);font-size:1.05rem;font-weight:500}.vpp-shortfall-bars__track{background:var(--track-dark);border-radius:999px;height:10px;overflow:hidden}.vpp-shortfall-bars__fill{border-radius:999px;max-width:100%;height:100%}.vpp-shortfall-bars__fill--generated{background:var(--blue)}.vpp-shortfall-bars__fill--used{background:var(--paper-soft)}.vpp-shortfall-bars__gap{color:var(--paper-soft);background:#f4f1e814;border:1px solid #f4f1e82e;border-radius:10px;margin:.15rem 0 0;padding:.75rem .9rem;font-size:.88rem;line-height:1.4}.vpp-shortfall-bars__gap strong{color:var(--paper);font-weight:600}.vpp-explainer__panel{flex-direction:column;gap:.65rem;min-width:0;display:flex}.vpp-explainer__headline{font-family:var(--font-display);color:var(--vpp-exp-cream);margin:0;font-size:clamp(1.25rem,2.5vw,1.45rem);font-weight:500;line-height:1.25}.vpp-explainer__body{color:var(--vpp-exp-muted);margin:0;font-size:.95rem;line-height:1.5}.vpp-explainer__controls{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.55rem;margin-top:auto;padding-top:1rem;display:flex}.vpp-explainer__nav{width:2.4rem;height:2.4rem;color:var(--vpp-exp-cream);cursor:pointer;background:0 0;border:1px solid #f2ede373;border-radius:50%;place-items:center;margin:0;padding:0;display:inline-grid}.vpp-explainer__nav:hover{border-color:var(--vpp-exp-cream);background:#f2ede30f}.vpp-explainer__nav:focus-visible{outline:2px solid var(--vpp-exp-cream);outline-offset:2px}.vpp-explainer__chevron{width:1rem;height:1rem}.vpp-explainer__chevron--prev{transform:rotate(90deg)}.vpp-explainer__chevron--next{transform:rotate(-90deg)}.vpp-explainer__dots{align-items:center;gap:.4rem;margin-left:.35rem;display:flex}.vpp-explainer__dot{cursor:pointer;background:0 0;border:1px solid #f2ede373;border-radius:50%;width:.45rem;height:.45rem;margin:0;padding:0}.vpp-explainer__dot.is-active{border-color:var(--vpp-exp-coral-strong);background:var(--vpp-exp-coral-strong)}.vpp-explainer__dot:focus-visible{outline:2px solid var(--vpp-exp-cream);outline-offset:2px}.vpp-explainer__cta{justify-content:flex-start;display:flex}.vpp-flow-cards{gap:.6rem;display:grid;overflow:visible}.vpp-flow-cards__item{min-width:0}.vpp-explainer-cta-slide__btn{align-self:flex-start;width:auto;margin-top:.35rem;padding-left:1.75rem;padding-right:1.75rem}.welcome__vpp-story{--vpp-exp-coral:var(--terra-400);--vpp-exp-coral-strong:var(--primary);--vpp-exp-teal:var(--success);--vpp-exp-cream:var(--on-deep);--vpp-exp-muted:#f2ede39e;flex-direction:column;gap:1.15rem;display:flex}.vpp-helps{scroll-margin-top:1.25rem}.vpp-helps__card{flex-direction:column;gap:1.35rem;display:flex;overflow:visible}.dashboard-vpp-compare{margin:0}.vpp-helps__title{max-width:22ch;font-family:var(--font-display);color:var(--vpp-exp-cream);margin:0;font-size:clamp(1.55rem,3vw,1.85rem);font-weight:500;line-height:1.2}.dashboard-vpp-compare .vpp-helps__title{max-width:none;color:var(--on-deep)}.vpp-helps__compare{gap:.75rem;display:grid;overflow:visible}.vpp-helps__quote{min-width:0}.vpp-helps__label{letter-spacing:.08em;text-transform:uppercase;color:var(--vpp-exp-coral-strong);margin:0;font-size:.72rem;font-weight:600}.vpp-helps__compare .vpp-compare__cost-value{margin:.35rem 0 .4rem}.vpp-helps__benefits{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.vpp-helps__benefit{align-items:flex-start;gap:.85rem;display:flex}.vpp-helps__benefit p{color:var(--vpp-exp-muted);margin:0;font-size:.95rem;line-height:1.45}.vpp-compare{flex-direction:column;gap:.65rem;display:flex}.vpp-compare__head{margin:0}.vpp-compare__toggle{background:#f2ede31a;align-self:flex-start;width:auto;padding:.18rem}.vpp-compare__toggle .ui-toggle__option{color:var(--vpp-exp-muted);flex:none;padding:.42rem .9rem;font-size:.82rem}.vpp-compare__toggle .ui-toggle__option.is-selected{color:var(--surface-deep);font-weight:600}.vpp-compare__toggle .ui-toggle__highlight{background:var(--vpp-exp-cream);border-color:#0000}.vpp-compare__card{background:#f2ede30f;border:1px solid #f2ede324;border-radius:14px;flex-direction:column;gap:.7rem;padding:.8rem 1rem .85rem;display:flex}.vpp-compare__row{align-items:flex-start;gap:.85rem;display:flex}.vpp-compare__icon{width:2.4rem;height:2.4rem;color:var(--vpp-exp-cream);background:#2b1a12;border:1px solid #d85a3073;border-radius:.55rem;flex-shrink:0;place-items:center;display:inline-grid}.vpp-compare__icon--with{border-color:#2f7d5c8c}.vpp-compare__title{font-family:var(--font-body);color:var(--vpp-exp-cream);margin:0;font-size:1rem;font-weight:600;line-height:1.35}.vpp-compare__detail{color:var(--vpp-exp-muted);margin:.3rem 0 0;font-size:.9rem;line-height:1.45}.vpp-helps__verb{font-weight:700}.vpp-helps__verb--cost{color:#ff8a7a;text-shadow:0 0 12px #ff78648c}.vpp-helps__verb--save{color:#8ee0b0;text-shadow:0 0 14px #5adc96a6}.vpp-compare__cost{border-top:1px solid #f2ede324;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:.6rem;display:flex}.vpp-compare__cost-label{color:var(--vpp-exp-muted);margin:0;font-size:.88rem}.vpp-compare__cost-stack{text-align:right;flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.vpp-compare__cost-value{font-family:var(--font-display);color:var(--vpp-exp-coral-strong);margin:0;font-size:clamp(1.55rem,3.4vw,2.1rem);font-weight:500;line-height:1.1}.vpp-compare__per{letter-spacing:.02em;color:var(--vpp-exp-muted);margin-left:.12em;font-size:.52em;font-weight:600}.vpp-compare__cost-year,.vpp-compare__delta{color:var(--vpp-exp-muted);margin:0;font-size:.78rem;line-height:1.4}@media (width>=640px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.band__inner{padding:4rem 2.4rem}.welcome__brand{display:none}.hero{flex-direction:row;align-items:center;gap:3rem}.hero__copy{flex:1.1}.hero__art{flex:1}.hero-house{max-width:26rem}.hero__copy h1{font-size:2.6rem}.hero__actions{flex-direction:row;align-items:center}.card-grid{grid-template-columns:repeat(3,1fr)}.vpp-explainer>.vpp-explainer__card{height:24.5rem;min-height:0}.vpp-explainer__title{white-space:nowrap}.vpp-explainer__layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:1.75rem;display:grid}.vpp-explainer__diagram{max-width:none;margin:0}.vpp-explainer__diagram:empty{display:block}.vpp-explainer__panel{padding-top:.25rem}.vpp-explainer__card--compare .vpp-explainer__layout{display:block}.vpp-explainer__card--compare .vpp-explainer__diagram{width:100%;max-width:none}.vpp-explainer__card--compare .vpp-explainer__panel{display:none}.vpp-explainer__card--cta .vpp-explainer__layout{flex-direction:column;align-items:flex-start;gap:.9rem;display:flex}.vpp-explainer__card--cta .vpp-explainer__diagram{display:none}.vpp-explainer__card--cta .vpp-explainer__panel{gap:.9rem;max-width:36ch;padding-top:0}.vpp-explainer__card--compare .vpp-compare{width:100%;max-width:none}.vpp-helps__compare{grid-template-columns:1fr 1fr}}.welcome__eyebrow{color:var(--accent-contrast);letter-spacing:.14em}.onboarding-cta{border-radius:var(--radius-pill);background:var(--primary);width:auto;color:var(--ink);font-family:var(--font-body);cursor:pointer;border:none;justify-content:center;align-self:flex-start;align-items:center;padding:.85rem 1.4rem;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.onboarding-cta:hover{background:var(--primary-hover)}.onboarding-cta:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.welcome .welcome__cta{width:auto;color:var(--ink);align-self:flex-start;padding:.85rem 1.4rem}.welcome-hero{background:var(--canvas);border-bottom:1px solid var(--border-strong)}.welcome-hero__inner{flex-direction:column;gap:2.5rem;display:flex}.welcome-hero__copy{flex-direction:column;gap:1.1rem;display:flex}.welcome-hero__title{letter-spacing:-.02em;margin:0;font-size:clamp(2.6rem,9vw,4.1rem);line-height:1.05}.welcome-hero__title:focus{outline:none}.welcome-hero__title em{color:var(--accent-deep);font-style:italic}.welcome-hero__lede{max-width:24rem;color:var(--ink-secondary);margin:0;font-size:1rem;line-height:1.6}.welcome-stat{background:var(--green-deep);color:var(--on-deep);border-radius:24px;margin:0;padding:1.75rem 1.5rem 1.5rem}.welcome-stat__head{border-bottom:1px solid var(--track-dark);align-items:center;gap:1rem;padding-bottom:1.25rem;display:flex}.welcome-stat__multiple{font-family:var(--font-display);color:var(--accent);font-size:4rem;line-height:1}.welcome-stat__headline{font-family:var(--font-display);color:var(--on-deep);margin:0;font-size:1.15rem;line-height:1.35}.welcome-stat__bars{grid-template-columns:1fr 1fr;gap:.6rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.welcome-stat__bar{flex-direction:column;gap:.6rem;display:flex}.welcome-stat__track{flex-direction:column;justify-content:flex-end;gap:.6rem;height:13rem;display:flex}.welcome-stat__value{font-family:var(--font-display);font-size:1.5rem;line-height:1}.welcome-stat__bar--vpp .welcome-stat__value{color:var(--terra-200)}.welcome-stat__fill{background:var(--paper-soft);border-radius:8px;display:block}.welcome-stat__bar--vpp .welcome-stat__fill{background:var(--accent)}.welcome-stat__label{font-size:.78rem;font-weight:500}.welcome-stat__bar--vpp .welcome-stat__label{color:var(--terra-200)}.welcome-stat__source{color:var(--on-deep-muted);margin-top:1.5rem;font-size:.68rem}.welcome-wins{background:var(--dock-panel);text-align:center}.welcome-wins__eyebrow{margin:0}.welcome-wins__title{letter-spacing:-.01em;margin:.6rem 0 2.5rem;font-size:clamp(2rem,6vw,2.6rem)}.welcome-wins__list{grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.welcome-win{flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;display:flex}.welcome-win+.welcome-win{border-top:1px solid var(--border)}.welcome-win__icon{background:var(--green-deep);width:2.75rem;height:2.75rem;color:var(--terra-200);border-radius:10px;justify-content:center;align-items:center;margin-bottom:.75rem;display:inline-flex}.welcome-win__eyebrow{letter-spacing:.14em;margin:0}.welcome-win__title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.45rem;font-weight:500}.welcome-win__body{max-width:17rem;color:var(--ink-secondary);margin:0;font-size:.9rem;line-height:1.6}.welcome-closing__inner{text-align:center;justify-content:center;display:flex}.welcome-closing__title{margin:0;font-size:clamp(2rem,6vw,2.6rem);line-height:1.15}@media (width>=900px){.welcome-hero__inner{flex-direction:row;align-items:center;gap:3rem}.welcome-hero__copy{flex:1.1}.welcome-stat{flex:1;padding:2rem 1.9rem 1.6rem}.welcome-wins__list{grid-template-columns:repeat(3,1fr)}.welcome-win+.welcome-win{border-top:none;border-left:1px solid var(--border)}.welcome-closing__title{white-space:nowrap}}.improve-arrow{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.improve-hero__actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.welcome .improve-hero__cta{align-items:center;display:inline-flex}.improve-hero__hint{color:var(--ink-secondary);font-size:.9rem}.improve-dash{background:var(--green-deep);color:var(--on-deep);border-radius:24px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.improve-dash__title{font-family:var(--font-display);color:var(--on-deep);margin:0;font-size:1.3rem;font-weight:500}.improve-dash__grid{grid-template-columns:1fr;gap:.75rem;display:grid}.improve-dash__tile{background:var(--surface-raised-on-dark);border-radius:16px;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;display:flex}.improve-dash__tile p{margin:0}.improve-dash__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--terra-200);font-size:.68rem;font-weight:700}.improve-dash__value{font-family:var(--font-display);color:var(--on-deep);font-size:1.6rem;line-height:1.15}.improve-dash__note{color:var(--on-deep-muted);font-size:.8rem}.improve-dash__tree{justify-content:center;min-height:8rem;display:flex}.improve-dash__tree .goal-tree{background:0 0;border:none;padding:0}.improve-dash__tree .goal-tree__art{width:min(100%,11rem)}.improve-dash__tree .goal-tree__ground{fill:var(--green-deep)}.improve-dash__tree .goal-tree__trunk,.improve-dash__tree .goal-tree__branch{fill:#8a5a3c;stroke:#8a5a3c}.improve-dash__rings{flex-direction:column;gap:.5rem;display:flex}.improve-dash__ring{color:var(--on-deep-muted);align-items:center;gap:.6rem;font-size:.82rem;display:flex}.improve-dash__ring svg{flex-shrink:0;width:2rem;height:2rem}.improve-dash__ring strong{color:var(--on-deep);font-weight:600}.improve-dash__ring-track{fill:none;stroke:var(--track-dark);stroke-width:4px}.improve-dash__ring-fill{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round}.improve-dash__ring--carbon .improve-dash__ring-fill{stroke:var(--euc-200)}.improve-dash__foot{border-top:1px solid var(--track-dark);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:1rem;display:flex}.improve-dash__foot p{color:var(--on-deep-muted);margin:0;font-size:.8rem}.improve-dash__action{border:1px solid var(--terra-200);border-radius:var(--radius-pill);min-height:2.5rem;color:var(--terra-200);font:600 .88rem var(--font-body);cursor:pointer;background:0 0;align-items:center;gap:.45rem;padding:0 1.1rem;transition:background .2s,color .2s;display:inline-flex}.improve-dash__action:hover{background:var(--terra-200);color:var(--green-deep)}.improve-dash__link{color:var(--terra-200);font:600 .85rem var(--font-body);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:.4rem;padding:0;display:inline-flex}.improve-dash__link:hover{text-underline-offset:3px;text-decoration:underline}.improve-dash__link:focus-visible,.improve-dash__action:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (width>=640px){.improve-dash__grid{grid-template-rows:auto auto;grid-template-columns:1.15fr 1fr}.improve-dash__tile--tree{grid-row:span 2}}@media (width>=900px){.welcome-hero__inner>.improve-dash{flex:1.05}}.improve-features-band{background:var(--dock-panel)}.improve-features-band__eyebrow{margin:0}.improve-features-band__title{letter-spacing:-.01em;margin:.6rem 0 2rem;font-size:clamp(2rem,6vw,2.6rem)}.improve-features-band__title:focus{outline:none}.improve-feature-cards{grid-template-columns:1fr;gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.improve-feature-cards__item{min-width:0;display:flex}.improve-feature-card{min-height:100%;color:inherit;cursor:pointer;background:var(--surface);border:1px solid #eadfcf;border-radius:1.5rem;flex-direction:column;flex:1;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;overflow:hidden}.improve-feature-card:focus-visible{outline:3px solid var(--euc-600);outline-offset:4px}.improve-feature-card:hover{border-color:#d9b79c;transform:translateY(-6px);box-shadow:0 18px 40px -18px #17302a59}.improve-feature-card__preview{background:#17302a;justify-content:center;align-items:center;height:190px;padding:1rem 1.25rem;display:flex;position:relative;overflow:hidden}.improve-feature-card--locked .improve-feature-card__preview>:not(.improve-feature-card__lock){filter:blur(5px);opacity:.45;pointer-events:none}.improve-feature-card__lock{color:var(--on-deep);background:#17302a59;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.improve-feature-card--locked:hover{box-shadow:none;border-color:#eadfcf;transform:none}@keyframes improve-feature-tremble{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.improve-feature-card--trembling{animation:.48s ease-in-out improve-feature-tremble}.improve-feature-card__body{flex-direction:column;flex-grow:1;gap:.75rem;padding:1.75rem;display:flex}.improve-feature-card__head{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.improve-feature-card__eyebrow{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:#a8441a;font-size:.8125rem;font-weight:700}.improve-feature-card__pill{border-radius:var(--radius-pill);max-width:100%;color:var(--ink-secondary);overflow-wrap:anywhere;background:#f4efe6;padding:.3rem .65rem;font-size:.75rem;font-weight:600;line-height:1.3}.improve-feature-card__title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.75rem;font-weight:500;line-height:1.2}.improve-feature-card__desc{color:var(--ink-secondary);margin:0;font-size:1rem;line-height:1.55}.improve-feature-card__foot{border-top:1px solid #efe6d8;justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding-top:1.125rem;display:flex}.improve-feature-card__cta{color:#a8441a;font-size:1.0625rem;font-weight:600}.improve-feature-card__arrow{width:2.75rem;height:2.75rem;color:var(--accent);background:#fbede3;border-radius:50%;place-items:center;transition:background .25s,color .25s,transform .25s;display:grid}.improve-feature-card:hover .improve-feature-card__arrow{background:var(--accent);color:var(--paper);transform:translate(4px)}.feature-preview--whatif{justify-content:space-between;align-items:flex-end;gap:1rem;width:100%;max-width:280px;display:flex}.feature-preview__sliders{flex-direction:column;flex:1;gap:1.1rem;display:flex}.feature-preview__slider-label{letter-spacing:.1em;text-transform:uppercase;color:#9fbaab;margin-bottom:.35rem;font-size:.625rem;font-weight:700;display:block}.feature-preview__track{background:#3c5c50;border-radius:3px;height:6px;position:relative}.feature-preview__knob{background:#e8a33d;border-radius:50%;width:18px;height:18px;transition:left .5s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;left:28%;transform:translate(-50%,-50%)}.improve-feature-card--whatif:hover .feature-preview__knob{left:calc(28% + 38px)}.feature-preview__bars{align-items:flex-end;gap:.65rem;padding-bottom:.25rem;display:flex}.feature-preview__bar-wrap{color:#9fbaab;text-transform:uppercase;letter-spacing:.06em;flex-direction:column;align-items:center;gap:.35rem;font-size:.625rem;display:flex}.feature-preview__bar{transform-origin:bottom;border-radius:6px 6px 2px 2px;width:2rem;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.feature-preview__bar--now{background:#5e7d70;height:60px}.feature-preview__bar--whatif{background:var(--accent);height:92px}.improve-feature-card--whatif:hover .feature-preview__bar--whatif{transform:scaleY(1.18)}.feature-preview--goals{justify-content:center;align-items:center;display:flex}.feature-preview__goals-ring{width:130px;height:130px}.feature-preview__ring-track{fill:none;stroke:#3c5c50;stroke-width:8px}.feature-preview__ring-progress{fill:none;stroke:#e8a33d;stroke-width:8px;stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.feature-preview__leaf{transform-box:fill-box;transform-origin:50%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.improve-feature-card--goals:hover .feature-preview__leaf{transform:scale(1.12)}.feature-preview--reminders{justify-content:center;align-items:flex-end;gap:.35rem;width:100%;max-width:300px;display:flex}.feature-preview__day{color:#c5d9ce;background:#23463a;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;width:36px;min-height:52px;padding:.35rem .2rem;font-size:.65rem;font-weight:700;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.improve-feature-card--reminders:hover .feature-preview__day{transform:translateY(-4px)}.feature-preview__day--best{background:var(--accent);width:42px;min-height:68px;color:var(--paper);transform:translateY(-6px)}.improve-feature-card--reminders:hover .feature-preview__day--best{transform:translateY(-10px)}.feature-preview__day-icon{font-size:.75rem;line-height:1}.feature-preview__day-best{letter-spacing:.08em;font-size:.5rem;font-weight:800;position:absolute;bottom:4px}@media (width>=70em){.improve-feature-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.improve-feature-card,.improve-feature-card__arrow,.feature-preview__knob,.feature-preview__bar,.feature-preview__leaf,.feature-preview__day{transition:none}.improve-feature-card:hover,.improve-feature-card:hover .improve-feature-card__arrow{transform:none}.improve-feature-card--whatif:hover .feature-preview__knob{left:28%}.improve-feature-card--whatif:hover .feature-preview__bar--whatif,.improve-feature-card--goals:hover .feature-preview__leaf,.improve-feature-card--reminders:hover .feature-preview__day,.improve-feature-card--reminders:hover .feature-preview__day--best,.feature-preview__day--best{transform:none}}.setup{width:min(28.5rem,100%);padding:1.25rem 1.15rem calc(2.5rem + env(safe-area-inset-bottom,0px));flex-direction:column;gap:1.25rem;margin:0 auto;display:flex}.setup__intro h1{margin:0 0 .45rem;font-size:2rem}.setup__intro p{color:var(--ink-secondary);margin:0;font-size:.95rem}.setup__fields{flex-direction:column;gap:1.15rem;display:flex}.setup-split{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.45rem;display:grid}.setup-secure{color:var(--ink-secondary);text-align:center;justify-content:center;align-items:center;gap:.4rem;margin:.2rem 0 0;font-size:.78rem;display:flex}.setup-intro{width:min(28.5rem,100vw - 1.5rem);max-height:none}.setup-intro .vpp-dialog__panel{max-height:none}.setup-intro .vpp-dialog__body{overflow:visible}.setup-intro__privacy{color:var(--ink);align-items:flex-start;gap:.55rem;margin:0 0 .85rem;font-size:.95rem;line-height:1.45;display:flex}.setup-intro__privacy svg{color:var(--euc-600);flex-shrink:0;margin-top:.15rem}.setup-intro__accuracy{color:var(--ink-secondary);margin:0;font-size:.95rem}.setup-intro__skip-note{color:var(--ink-secondary);margin:.75rem 0 0;font-size:.85rem}.setup-intro__footer{gap:.6rem;display:flex}.setup-intro__footer .ui-btn{flex:1}@media (width>=900px){.setup{width:min(32rem,100%);padding-top:2rem}.setup.improve-setup--home-vpp{width:min(77.5rem,100%);margin:0 auto}}.improve-setup.improve-setup--home-vpp{gap:1.5rem;width:min(77.5rem,100%);margin:0 auto;padding:1.75rem 1.5rem 2.5rem}.home-vpp{flex-direction:column;gap:1.75rem;display:flex}.home-vpp__intro{margin:0}.home-vpp__title{margin:0 0 .5rem;font-size:2.75rem;font-weight:500;line-height:1.15}.home-vpp__lede{color:var(--ink-secondary);max-width:40rem;margin:0;font-size:1.125rem}.home-vpp__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.5rem;display:grid}.home-vpp-card{background:var(--surface);border-radius:1.375rem;flex-direction:column;gap:1.25rem;height:100%;min-height:100%;padding:2rem;display:flex}.home-vpp-bill{flex:1}.home-vpp-card__title{font-family:var(--font-display);margin:0;font-size:1.625rem;font-weight:500;line-height:1.2}.home-vpp-card__lede{color:var(--ink-secondary);margin:0;font-size:.9375rem;line-height:1.45}.home-vpp-bill__drop{cursor:pointer;text-align:center;background:#fbf4ec;border:2px dashed #d9b79c;border-radius:1.125rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.125rem;min-height:20rem;margin:0;padding:1.5rem 1.25rem;transition:background .2s,border-color .2s;display:flex}.home-vpp-bill__drop:hover,.home-vpp-bill__drop--active{border-color:var(--accent);background:#f7e8d9}.home-vpp-bill__drop:focus-within{outline:3px solid var(--euc-600);outline-offset:3px}.home-vpp-bill__drop:hover .home-vpp-bill-art,.home-vpp-bill__drop--active .home-vpp-bill-art{transform:translateY(-8px)rotate(-4deg)}.home-vpp-bill-art{transition:transform .35s}.home-vpp-bill__drop-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.5rem;font-weight:500}.home-vpp-bill__drop-browse{color:var(--ink-secondary);margin:0;font-size:1rem}.home-vpp-bill__drop-link{color:var(--accent-contrast);text-underline-offset:2px;font-weight:600;text-decoration:underline}.home-vpp-bill__chips{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.home-vpp-bill__chip{border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-secondary);border:1px solid #d9b79c;padding:.35rem .75rem;font-size:.8125rem}.home-vpp-bill__privacy{color:var(--euc-600);align-items:flex-start;gap:.5rem;margin:0;font-size:.875rem;line-height:1.45;display:flex}.home-vpp-bill__privacy svg{flex-shrink:0;margin-top:.1rem}.home-vpp-bill__status,.home-vpp-bill__applied{color:var(--ink-secondary);margin:0;font-size:.9rem}.home-vpp-bill__error{color:var(--danger);margin:0;font-size:.9rem}.home-vpp-details__grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem;display:grid}.home-vpp-field--full{grid-column:1/-1}.home-vpp-field{flex-direction:column;gap:.45rem;min-width:0;display:flex}.home-vpp-field__label{color:var(--ink);font-size:.9375rem;font-weight:600}.home-vpp-field__control{border:1.5px solid var(--border-strong);background:var(--surface);width:100%;min-height:3.25rem;color:var(--ink);border-radius:.75rem;padding:.65rem .85rem;font-size:1rem}.home-vpp-field__control:focus{border-color:var(--euc-600);box-shadow:0 0 0 3px color-mix(in srgb, var(--euc-600) 22%, transparent);outline:none}.home-vpp-field__error{color:var(--danger);margin:0;font-size:.85rem}.home-vpp-details__helper{color:var(--ink-secondary);margin:.35rem 0 0;font-size:.875rem}.home-vpp-details__link{font:inherit;color:var(--accent-contrast);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.home-vpp-details .ui-search__input-wrap{border-width:1.5px;border-radius:.75rem;min-height:3.25rem}.home-vpp-details .ui-search__input{font-size:1rem}.home-vpp__footer{justify-content:flex-end;padding-top:.25rem;display:flex}.home-vpp__save.ui-btn{border-radius:var(--radius-pill);background:var(--accent-contrast);min-width:13.75rem;min-height:3.25rem}.home-vpp__save.ui-btn:hover:not(:disabled){background:var(--accent-contrast-hover)}@media (width<=900px){.improve-setup.improve-setup--home-vpp{padding:1.25rem 1.15rem 2rem}.home-vpp__grid{grid-template-columns:1fr}.home-vpp__title{font-size:2rem}.home-vpp-details__grid{grid-template-columns:1fr}}.voice-bar{top:env(safe-area-inset-top,0px);z-index:30;background:var(--canvas);flex-direction:column;gap:.6rem;padding-block:.6rem;display:flex;position:sticky}.voice-dock__buttons{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.voice-fab{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.6rem .95rem;font-size:.88rem;font-weight:500;display:inline-flex;box-shadow:0 6px 18px #14231d1f}.voice-fab:hover{border-color:var(--structure);color:var(--structure)}.voice-fab:focus-visible,.voice-off:focus-visible,.voice-status__controls button:focus-visible,.voice-error__actions button:focus-visible{outline:2px solid var(--structure);outline-offset:2px}.voice-off{color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.78rem;text-decoration:underline;display:inline-flex}.voice-off:hover{color:var(--ink)}.voice-panel,.voice-filled,.voice-confirm,.voice-error,.voice-status{background:var(--surface);border:1px solid var(--border);border-radius:.85rem;box-shadow:0 10px 26px #14231d24}.voice-panel{padding:1rem}.voice-panel__title{margin:0 0 .45rem;font-size:1.05rem}.voice-panel__body{color:var(--ink-secondary);margin:0 0 .6rem;font-size:.85rem;line-height:1.45}.voice-panel__body--note{background:var(--terra-50);color:var(--terra-900);border-radius:.5rem;padding:.55rem .65rem}.voice-panel__actions,.voice-confirm__actions{justify-content:flex-end;gap:.5rem;display:flex}.voice-filled{max-height:14rem;padding:.8rem .9rem;overflow-y:auto}.voice-filled__title{width:100%;font:inherit;color:var(--structure);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;margin:0 0 .5rem;padding:0;font-size:.8rem;font-weight:600;display:flex}.voice-filled__toggle{color:var(--ink-muted);margin-left:auto;font-weight:500;text-decoration:underline}.voice-filled--collapsed .voice-filled__title{margin-bottom:0}.voice-filled__list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.voice-filled__item{flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:.82rem;display:flex}.voice-filled__label{font-weight:500}.voice-filled__heard{color:var(--ink-muted);font-style:italic}.voice-filled__flag{background:var(--terra-50);color:var(--terra-800);border-radius:999px;padding:.05rem .4rem;font-size:.7rem;font-weight:600}.voice-filled__note{color:var(--ink-muted);margin:.6rem 0 0;font-size:.75rem}.voice-confirm{padding:.9rem}.voice-confirm__question{margin:0 0 .2rem;font-size:.92rem}.voice-confirm__heard{color:var(--ink-muted);margin:0 0 .7rem;font-size:.8rem;font-style:italic}.voice-confirm__list{margin-top:.6rem;font-size:.8rem}.voice-confirm__list summary{cursor:pointer;color:var(--ink-secondary)}.voice-confirm__list ul{flex-direction:column;gap:.1rem;margin:.45rem 0 0;padding:0;list-style:none;display:flex}.voice-confirm__list button{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.35rem .5rem;font-size:.82rem}.voice-confirm__list button:hover{background:var(--surface-sunken)}.voice-error{border-color:var(--terra-200);color:var(--terra-900);gap:.5rem;padding:.75rem .85rem;display:flex}.voice-error__body{flex:1}.voice-error__message{margin:0;font-size:.84rem;line-height:1.4}.voice-error__hint{color:var(--ink-secondary);margin:.35rem 0 0;font-size:.78rem}.voice-error__actions{gap:.75rem;margin-top:.5rem;display:flex}.voice-error__actions button{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600;text-decoration:underline}.voice-status{align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.voice-status__dot{background:var(--primary);border-radius:50%;flex:none;width:.55rem;height:.55rem}.voice-status--listening .voice-status__dot{animation:1.4s ease-in-out infinite voice-pulse}.voice-status--paused .voice-status__dot{background:var(--ink-muted)}.voice-status__text{flex:1;min-width:0;font-size:.82rem;font-weight:500}.voice-status__partial{color:var(--ink-muted);font-weight:400}.voice-status__controls{gap:.15rem;display:flex}.voice-status__controls button{width:1.9rem;height:1.9rem;color:var(--ink-secondary);cursor:pointer;background:0 0;border:none;border-radius:.45rem;justify-content:center;align-items:center;display:inline-flex}.voice-status__controls button:hover{background:var(--surface-sunken);color:var(--ink)}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.voice-status--listening .voice-status__dot{animation:none}}@media (width<=30rem){.voice-filled{max-height:9rem}}.profile{flex-direction:column;gap:1.2rem;width:min(52rem,100%);margin:0 auto;padding:1.25rem 1.15rem 3rem;display:flex}.profile__top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.profile__intro h1{margin:0 0 .4rem;font-size:2.15rem}.profile__intro p{color:var(--ink-secondary);margin:0}.profile__sections{flex-direction:column;gap:1rem;display:flex;overflow:visible}.profile-usage{overflow:visible}.bill-upload__drop{border:1px dashed var(--border);border-radius:var(--radius-md,.5rem);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;padding:1rem;display:flex}.bill-upload__drop--active{border-color:var(--accent,#2d6a4f);background:color-mix(in srgb, var(--accent,#2d6a4f) 6%, transparent)}.bill-upload__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.bill-upload__label{cursor:pointer;color:var(--ink-secondary);flex:1;font-size:.95rem}.bill-upload__summary{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.bill-upload__figures{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.65rem 1rem;margin:0;display:grid}.bill-upload__figures dt{color:var(--ink-secondary);margin:0;font-size:.75rem}.bill-upload__figures dd{margin:.15rem 0 0;font-weight:600}.bill-upload__note{color:var(--ink-secondary);margin:0;font-size:.85rem}.bill-upload__error{color:var(--danger,#b42318);margin:.75rem 0 0;font-size:.9rem}.improve-manual{border:1px solid var(--border);border-radius:var(--radius-md,.5rem);background:var(--surface);padding:.35rem .85rem .85rem}.improve-manual__summary{cursor:pointer;padding:.5rem 0;font-weight:600;list-style-position:outside}.improve-manual__summary::-webkit-details-marker{color:var(--ink-secondary)}.improve-manual__note{color:var(--ink-secondary);margin:0 0 .75rem;font-size:.85rem}.improve-manual__fields{flex-direction:column;gap:1rem;display:flex}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.15rem 1.2rem 1.25rem}.profile-card__head{grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;margin-bottom:1rem;display:grid}.profile-card__head h2{font-family:var(--font-body);margin:0;font-size:1.05rem;font-weight:700}.profile-card__icon{background:var(--euc-50);width:2.2rem;height:2.2rem;color:var(--euc-600);border-radius:.55rem;place-items:center;display:grid}.profile-card__edit{flex-direction:column;gap:1.1rem;display:flex}.profile-grid{grid-template-columns:1fr;gap:.85rem 1.5rem;margin:0;display:grid}.profile-grid__item dt{color:var(--ink-secondary);font-size:.78rem}.profile-grid__item dd{flex-wrap:wrap;align-items:center;gap:.45rem;margin:.15rem 0 0;font-weight:700;display:flex}.profile-estimate{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);border:.5px solid var(--border);background:var(--surface-sunken);border-radius:var(--radius-pill);padding:.1rem .45rem;font-size:.68rem;font-weight:600}.profile__actions{gap:.9rem;display:grid}.profile__action p{color:var(--ink-secondary);text-align:center;margin:.4rem 0 0;font-size:.78rem}.brand--desktop-hidden{display:flex}@media (width>=900px){.brand--desktop-hidden{display:none}.profile{padding:1.6rem 2.4rem 3.5rem}.profile-grid{grid-template-columns:1fr 1fr}.profile__actions{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:1rem}}.improve-profile__goal{flex-direction:column;gap:.4rem;margin-top:.75rem;display:flex}.improve-profile__reminders{flex-direction:column;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.improve-profile__reminder{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;font-size:.92rem;display:flex}.dashboard{--dash-hero:var(--green-deep);--dash-ink:var(--ink);--dash-muted:var(--ink-soft);--dash-accent:var(--accent-deep);--dash-cta:var(--accent);background:0 0;flex-direction:column;gap:1.2rem;width:min(72rem,100%);margin:0 auto;padding:1.25rem 1.15rem 3rem;display:flex}.dashboard__story{flex-direction:column;gap:clamp(1.5rem,3vw,2.2rem);display:flex}.vpp-suggestions--from-savings{margin-top:0;scroll-margin-top:1.25rem}.vpp-suggestions--from-savings .eyebrow{color:var(--dash-accent)}.vpp-suggestions--from-savings h2{font-family:var(--font-display);color:var(--dash-ink);max-width:24ch;font-size:clamp(1.35rem,2.5vw,1.45rem);font-weight:500;line-height:1.25}.vpp-suggestions--from-savings .vpp-suggestions__lede{max-width:42rem;color:var(--dash-muted)}.dashboard__top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard__intro h1{font-family:var(--font-display);max-width:22ch;color:var(--green-deep);margin:0;font-size:clamp(2.15rem,4vw,2.6rem);font-weight:500;line-height:1.12}.dashboard__footer{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:.75rem;display:flex}.dashboard__time{background:var(--surface-sunken);border-radius:var(--radius-pill);gap:.15rem;width:min(22rem,100%);padding:.2rem;display:flex}.energy-story{--energy-gen:var(--blue);--energy-used:var(--paper-soft);--energy-borrow:#ff8a7a;--energy-discharge:#8ee0b0;--energy-join:var(--energy-borrow);flex-direction:column;align-items:stretch;display:flex}.energy-story--surplus{--energy-join:var(--energy-discharge)}.energy-story--balanced{--energy-join:var(--euc-200)}.energy-balance{--energy-balance-bg:#1c2f29;background:var(--energy-balance-bg);color:var(--on-deep);border-radius:28px;margin:0;padding:clamp(1.35rem,3vw,2.25rem) clamp(1.25rem,3vw,2.5rem)}.energy-balance__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1.6rem;display:flex}.energy-balance__place{letter-spacing:.16em;text-transform:uppercase;color:#c9d4cc;margin:0;font-size:13px;font-weight:700}.energy-balance .ui-toggle--on-deep{background:#ffffff1a;gap:.1rem;width:auto;padding:.18rem}.energy-balance .ui-toggle--on-deep .ui-toggle__highlight{background:var(--on-deep);border-color:#0000}.energy-balance .ui-toggle--on-deep .ui-toggle__option{color:var(--on-deep-muted);flex:none;padding:.38rem .75rem;font-size:.78rem}.energy-balance .ui-toggle--on-deep .ui-toggle__option.is-selected{color:var(--euc-800);font-weight:600}.energy-balance .ui-toggle--on-deep:not(:has(.ui-toggle__highlight.is-visible)) .ui-toggle__option.is-selected{background:var(--on-deep);border-color:#0000}@media (hover:hover) and (pointer:fine){.energy-balance .ui-toggle--on-deep .ui-toggle__option:hover:not(.is-selected){color:var(--on-deep)}}.energy-balance__hero{color:var(--on-deep);margin:1rem 0 0;padding:0}.energy-balance__lede{max-width:26ch;font-family:var(--font-body);color:var(--on-deep-muted);margin:0;font-size:.92rem;font-weight:400;line-height:1.35;display:block}.energy-balance__share{width:fit-content;font-family:var(--font-display);letter-spacing:-.03em;color:var(--on-deep);animation:kpi-in .18s var(--ease-out,cubic-bezier(.22, 1, .36, 1)) both;margin:.2rem 0 0;padding:0;font-size:clamp(2.8rem,6vw,3.5rem);font-weight:500;line-height:1;display:block}.energy-bar{margin-top:.85rem}.energy-bar__track{background:var(--track-dark);border-radius:999px;gap:2px;height:8px;display:flex;overflow:visible}.energy-bar__slice{cursor:pointer;min-width:0;height:100%;transition:opacity .2s ease, flex-grow .35s var(--ease-out,cubic-bezier(.22, 1, .36, 1));flex-basis:0;display:block}.energy-bar__slice:first-child{border-radius:999px 0 0 999px}.energy-bar__slice:last-child{border-radius:0 999px 999px 0}.energy-bar__slice:only-child{border-radius:999px}.energy-bar__slice--generated{background:var(--energy-gen)}.energy-bar__slice--used{background:var(--energy-used)}.energy-bar__slice--discharge{background:var(--energy-discharge);box-shadow:0 0 10px #5adc968c}.energy-bar__slice--borrow{background:var(--energy-borrow);box-shadow:0 0 10px #ff786480}.energy-bar__slice.is-on{opacity:1}.energy-bar__slice.is-dim{opacity:.35}.energy-balance__live{color:var(--on-deep-muted);margin:.45rem 0 0;font-size:.82rem}.energy-legend{grid-template-columns:1fr;gap:.85rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.energy-legend__item{width:100%;min-height:24px;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;padding:.15rem 0;transition:opacity .2s;display:block}.energy-legend__item.is-on{opacity:1}.energy-legend__item.is-dim{opacity:.4}.energy-legend__label-row{align-items:center;gap:.45rem;display:inline-flex}.energy-legend__swatch{background:currentColor;border-radius:.15rem;flex-shrink:0;width:.65rem;height:.65rem}.energy-legend__item--generated{color:var(--energy-gen)}.energy-legend__item--used{color:var(--energy-used)}.energy-legend__item--borrow{color:var(--energy-borrow)}.energy-legend__item--discharge{color:var(--energy-discharge)}.energy-legend__item--standby{color:var(--euc-200)}.energy-legend__item--borrow .energy-legend__swatch{box-shadow:0 0 8px #ff78648c}.energy-legend__item--discharge .energy-legend__swatch{box-shadow:0 0 8px #5adc9699}.energy-legend__item--savings{color:var(--accent)}.energy-legend__savings{position:relative}.energy-legend__item--savings .energy-legend__hint{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.energy-legend__item--savings .kpi-badge--on-deep{color:#f2ede3c7;background:#ffffff14;border-color:#ffffff2e}.energy-legend__item--savings .energy-savings__info{color:var(--paper-soft);place-items:center;display:inline-grid}.energy-legend__copy{flex-direction:column;gap:.08rem;min-width:0;display:flex}.energy-legend__label{letter-spacing:.08em;text-transform:uppercase;color:var(--on-deep-muted);font-size:.68rem;font-weight:600}.energy-legend__value{font-family:var(--font-display);color:var(--paper);font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:clamp(1.2rem,2.2vw,1.35rem);font-weight:500;line-height:1.15;display:block}.energy-ticker{display:block;overflow:hidden}.energy-ticker__face{display:block}.energy-ticker__face.is-rolling{animation:energy-reel .78s var(--ease-out,cubic-bezier(.22, 1, .36, 1)) both}@keyframes energy-reel{0%{filter:blur(5px);opacity:.35;transform:translateY(.55em)}22%{filter:blur(2px);opacity:.75;transform:translateY(-.18em)}42%{filter:blur();opacity:1;transform:translateY(.08em)}to{filter:none;opacity:1;transform:none}}.energy-legend__value--accent{color:var(--accent)}.energy-legend__hint{color:var(--on-deep-muted);flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-top:.12rem;font-size:.75rem;display:inline-flex}.energy-legend__swatch--savings{color:var(--accent)}.energy-savings-wrap{min-width:0;position:relative}.energy-savings-tip{z-index:4;background:var(--green-deeper);width:min(22rem,100%);color:var(--on-deep);animation:kpi-in .16s var(--ease-out,cubic-bezier(.22, 1, .36, 1)) both;border-radius:.65rem;margin:0;padding:.7rem .85rem;font-size:.88rem;line-height:1.4;position:absolute;bottom:calc(100% + .55rem);left:0;box-shadow:0 10px 28px #08100c59}.energy-savings-tip:after{content:"";border:7px solid #0000;border-top-color:var(--green-deeper);position:absolute;top:100%;left:1.4rem}.kpi-grid{grid-template-columns:1fr;gap:1rem;display:grid;overflow:visible}.kpi-card,.dashboard-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.15rem 1.2rem 1.25rem;overflow:visible}.kpi-card{padding:.8rem .95rem .85rem}.kpi-card__icon,.dashboard-card__icon{background:var(--euc-50);width:2.2rem;height:2.2rem;color:var(--euc-600);border-radius:.55rem;place-items:center;margin-bottom:.75rem;display:grid}.kpi-card__icon{border-radius:.45rem;width:1.65rem;height:1.65rem;margin-bottom:.4rem}.kpi-card__icon svg{width:.95rem;height:.95rem}.kpi-card .eyebrow,.dashboard-card .eyebrow{margin:0}.kpi-card__value{font-family:var(--font-display);color:var(--ink);flex-wrap:wrap;align-items:center;gap:.4rem;margin:.1rem 0 0;font-size:1.5rem;font-weight:500;line-height:1.15;display:flex}.kpi-card__figure{animation:kpi-in .18s var(--ease-out,cubic-bezier(.22, 1, .36, 1)) both;display:inline-block}@keyframes kpi-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.kpi-card__value--surplus{color:var(--surplus)}.kpi-card__value--deficit{color:var(--deficit)}.kpi-card__note{color:var(--ink-secondary);margin:.2rem 0 0;font-size:.76rem}.kpi-badge{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);padding:.1rem .45rem;font-size:.68rem;font-weight:600}.kpi-badge--estimate{color:var(--ink-secondary);border:.5px solid var(--border);background:var(--surface-sunken)}.kpi-badge--fact{color:var(--euc-800);background:var(--euc-50);border:1px solid #0000}.kpi-badge--sourced{color:var(--ink-secondary);border:1px solid var(--border);background:var(--surface-sunken)}.kpi-badge--sample{color:var(--ink-secondary);border:.5px solid var(--border);background:var(--surface-sunken)}.kpi-badge--unavailable{color:var(--ink-secondary);border:1px solid var(--border);background:var(--surface-sunken)}.dashboard-card__head{align-items:center;gap:.7rem;margin-bottom:.7rem;display:flex}.dashboard-card__head h2,.dashboard-card h2{margin:.15rem 0 0;font-size:1.45rem}.dashboard-card__lede{color:var(--ink-secondary);margin:0 0 1rem;font-size:.9rem}.dashboard-card__flag{color:var(--euc-800);background:var(--euc-50);border-radius:var(--radius-input);margin:0 0 1rem;padding:.65rem .8rem;font-size:.85rem}.dashboard__split{grid-template-columns:1fr;gap:1rem;display:grid}.donut{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;display:flex}.donut__plot{flex:none;position:relative}.donut__svg{width:13rem;height:auto;display:block}.donut__track{fill:var(--surface-sunken);stroke:none}.donut__slice{cursor:pointer;outline:none;transition:opacity .15s}.donut__draw{transform-origin:100px 100px;animation:donut-in .35s var(--ease-out,cubic-bezier(.22, 1, .36, 1)) both}@keyframes donut-in{0%{opacity:.35;transform:scale(.96)}to{opacity:1;transform:none}}.donut__slice.is-dim{opacity:.4}.donut__total{font-family:var(--font-display);fill:var(--ink);text-anchor:middle;font-size:1.05rem}.donut__total-label{letter-spacing:.06em;text-transform:uppercase;fill:var(--ink-muted);text-anchor:middle;font-size:.55rem}.donut__legend{flex-direction:column;flex:0 11.5rem;gap:.15rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.donut__legend-item{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.35rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;margin:0;padding:.2rem 0;font-size:.82rem;display:grid}.donut__legend-item.is-active .donut__name{font-weight:600}.donut__swatch{border-radius:3px;flex-shrink:0;width:.7rem;height:.7rem}.donut__name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.forecast{margin:0}.forecast__plot{position:relative}.forecast__svg{width:100%;height:auto;display:block}.forecast__grid{stroke:var(--border);stroke-width:1px}.forecast__area{fill:var(--euc-50);stroke:none}.forecast__line{fill:none;stroke:var(--euc-600);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.forecast__draw .forecast__area{opacity:0;animation:.35s 60ms both forecast-fill}.forecast__draw .forecast__line{stroke-dasharray:1;stroke-dashoffset:1px;animation:forecast-draw .35s var(--ease-out,cubic-bezier(.22, 1, .36, 1)) forwards}@keyframes forecast-fill{0%{opacity:0}to{opacity:1}}@keyframes forecast-draw{to{stroke-dashoffset:0}}.forecast__dot{fill:var(--euc-600)}.forecast__dot--peak{fill:var(--terra-600)}.forecast__guide{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 4;pointer-events:none}.forecast__hit{fill:#0000;cursor:crosshair}.forecast__tick{fill:var(--ink-muted);text-anchor:middle;font-size:.66rem}.forecast__y-tick,.forecast__y-unit{fill:var(--ink-muted);text-anchor:end;font-size:.66rem}.forecast__axis{stroke:var(--border-strong);stroke-width:1px}.forecast__tooltip{z-index:2;pointer-events:none;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-input);white-space:nowrap;padding:.35rem .55rem;font-size:.78rem;font-weight:600;position:absolute;transform:translate(12px,calc(-100% - 8px))}.forecast__tooltip.is-flip{transform:translate(calc(-100% - 12px),calc(-100% - 8px))}.forecast__tooltip.is-peak{color:var(--terra-600)}.forecast__source{color:var(--ink-secondary);margin:.5rem 0 0;font-size:.78rem}.plan-terms{flex-direction:column;gap:.45rem;margin:.8rem 0;padding:0;list-style:none;display:flex}.plan-terms li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding-bottom:.4rem;font-size:.88rem;display:flex}.plan-terms span{color:var(--ink-secondary)}.dashboard-link{font-size:.85rem}.plan-grid{grid-template-columns:1fr;gap:.9rem;margin-top:1rem;display:grid}.plan-tile{border:1px solid var(--border);border-radius:var(--radius-card);padding:1rem}.plan-tile.is-recommended{border-color:var(--euc-400);background:var(--euc-50)}.plan-tile.is-current:not(.is-recommended){background:var(--euc-50);border-color:#0000}.plan-tile__tags{flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem;display:flex}.plan-tile h3{font-family:var(--font-body);margin:0;font-size:1rem;font-weight:700}.plan-tile__brand{color:var(--ink-secondary);margin:.15rem 0 .5rem;font-size:.82rem}.vpp-suggestions{flex-direction:column;gap:1rem;margin-top:.4rem;display:flex}.vpp-suggestions .ui-callout--action{flex-wrap:wrap}.vpp-suggestions h2{margin:.15rem 0 0;font-size:1.45rem}.vpp-suggestions__lede{max-width:40rem;color:var(--ink-secondary);margin:.35rem 0 0;font-size:.95rem}.vpp-plan-board{grid-template-columns:1fr;grid-auto-rows:auto;align-items:start;gap:1rem;display:grid}.vpp-plan-card{text-align:left;width:100%;min-height:24px;color:inherit;flex-direction:column;align-items:stretch;gap:0;font-family:inherit;font-size:1rem;display:flex}.vpp-plan-card:hover{border-color:var(--border-strong)}.vpp-plan-card .kpi-badge{align-self:flex-start;margin-bottom:.55rem}.vpp-plan-card .eyebrow{margin:0}.vpp-plan-card__name{font-family:var(--font-display);color:var(--ink);margin:.2rem 0 .9rem;font-size:1.45rem;font-weight:500;line-height:1.25}.vpp-stat-row{border-top:.5px solid var(--border);flex:none;align-self:stretch;width:100%;padding-top:.85rem;display:flex}.vpp-stat{flex-direction:column;flex:1 1 0;align-items:flex-start;gap:.2rem;min-width:0;padding:0 1rem;display:flex}.vpp-stat .eyebrow{text-transform:none;letter-spacing:.02em}.vpp-stat:first-child{padding-left:0}.vpp-stat:last-child{padding-right:0}.vpp-stat+.vpp-stat{border-left:.5px solid var(--border)}.vpp-stat .kpi-card__value{font-family:var(--font-body);margin:0;font-size:1rem;font-weight:700;line-height:1.2}.vpp-stat .kpi-card__value--unknown{font-weight:400}.vpp-plan-card__actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.9rem;display:flex}.vpp-plan-card__cta{border-radius:var(--radius-pill);min-width:24px;min-height:24px;font-family:var(--font-body);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin:0;padding:.4rem .85rem;font-size:.85rem;font-weight:600;line-height:1.2;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.vpp-plan-card__cta--primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.vpp-plan-card__cta--primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.vpp-plan-card__cta--primary:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.vpp-plan-card__cta--ghost{color:var(--ink-soft);background:0 0;border-color:#0000;font-weight:500}.vpp-plan-card__cta--ghost:hover{color:var(--ink);background:0 0}.vpp-plan-card__cta--ghost:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.kpi-card__value--unknown{color:var(--muted);font-style:italic;font-weight:400}.vpp-fit-block{margin:0 0 1.1rem}.vpp-fit-block:last-child{margin-bottom:0}.vpp-fit-block h4{font-family:var(--font-body);color:var(--ink);margin:0 0 .45rem;font-size:.95rem;font-weight:700}.vpp-fit-list{flex-direction:column;gap:.55rem;margin:0;padding:0 0 0 1.1rem;display:flex}.vpp-fit-list li{color:var(--ink);font-size:.92rem}.vpp-term-list{grid-template-columns:minmax(0,1fr);gap:.85rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.vpp-term-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.vpp-term{border:1px solid var(--euc-100);background:var(--euc-50);border-radius:16px;flex-direction:column;gap:.6rem;padding:1rem 1.1rem .95rem;display:flex}.vpp-term__head{align-items:center;gap:.7rem;display:flex}.vpp-term__icon{background:var(--surface-deep);width:2.25rem;height:2.25rem;color:var(--on-deep);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.vpp-term__title{font-family:var(--font-body);color:var(--euc-900);margin:0;font-size:.98rem;font-weight:700}.vpp-term__content{flex-direction:column;flex:1;display:flex}.vpp-term__body{color:var(--ink);margin:0;font-size:.9rem;line-height:1.55}.vpp-term__meta{color:var(--euc-800);flex-wrap:wrap;gap:.4rem;margin:auto 0 0;padding-top:.7rem;font-size:.72rem;display:flex}.vpp-term__meta>span{border:1px solid var(--euc-100);border-radius:var(--radius-pill);background:var(--surface);padding:.2rem .6rem}.vpp-term--unavailable{border-color:var(--border);background:var(--surface-sunken)}.vpp-term--unavailable .vpp-term__icon{background:var(--surface-sunken);color:var(--ink-secondary)}.vpp-term__unavailable-flag,.vpp-term__stale{color:var(--ink);align-items:flex-start;gap:.4rem;margin:0 0 .35rem;font-weight:700;display:flex}.vpp-term__stale{background:var(--terra-50);border-radius:.55rem;margin:.45rem 0 0;padding:.45rem .55rem;font-size:.85rem;font-weight:600}.vpp-term__unavailable-flag svg,.vpp-term__stale svg{color:var(--warning);flex-shrink:0;margin-top:.1rem}.vpp-term__stale svg{color:var(--terra-800)}.vpp-example{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:1rem;display:flex}.vpp-example .ui-btn{width:auto;min-width:24px;min-height:24px}.vpp-example__panel{background:var(--surface-sunken);border-radius:var(--radius-input);width:100%;padding:.85rem 1rem}.vpp-dialog .vpp-example__panel{border:1px solid var(--euc-100);background:var(--euc-50);border-radius:16px}.vpp-dialog__lede.vpp-terms__banner{background:var(--accent);color:var(--green-deeper);border-radius:12px;align-items:center;gap:.5rem;padding:.65rem .9rem;font-weight:600;display:flex}.vpp-terms__banner svg{flex-shrink:0}.vpp-example__label{color:var(--ink);margin:0 0 .4rem;font-weight:700}.vpp-example__panel p{margin:0;font-size:.92rem}.vpp-dialog{border-radius:var(--radius-card);background:var(--surface);width:min(52rem,100vw - 1.5rem);max-height:min(88vh,46rem);color:var(--ink);opacity:0;transition:opacity .22s var(--ease-out,cubic-bezier(.22, 1, .36, 1)), transform .22s var(--ease-out,cubic-bezier(.22, 1, .36, 1)), overlay .22s allow-discrete, display .22s allow-discrete;border:none;margin:auto;padding:0;overflow:hidden;transform:translateY(8px)scale(.98);box-shadow:0 18px 50px #0d211a38}.vpp-dialog[open]{opacity:1;flex-direction:column;display:flex;transform:none}@starting-style{.vpp-dialog[open]{opacity:0;transform:translateY(8px)scale(.98)}}.vpp-dialog:focus{outline:none}.vpp-dialog::backdrop{opacity:0;transition:opacity .22s ease, overlay .22s allow-discrete, display .22s allow-discrete;background:#0d211a7a}.vpp-dialog[open]::backdrop{opacity:1}@starting-style{.vpp-dialog[open]::backdrop{opacity:0}}.vpp-dialog__panel{flex-direction:column;flex:1;min-height:0;max-height:min(88vh,46rem);display:flex}.vpp-dialog__header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.35rem .85rem;display:flex}.vpp-dialog__header h3{font-family:var(--font-display);margin:.15rem 0 0;font-size:1.45rem;font-weight:500}.vpp-dialog__close{flex-shrink:0;min-width:24px;min-height:24px}.vpp-dialog__body{flex:1;min-height:0;padding:1rem 1.35rem 1.15rem;overflow:auto}.vpp-dialog__lede{color:var(--ink-secondary);margin:0 0 .95rem;font-size:.9rem}.vpp-dialog__footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:.85rem 1.35rem 1.05rem;font-size:.88rem}.vpp-dialog__footer a{color:var(--euc-600)}@media (width>=900px){.dashboard{padding:1.6rem 2.4rem 3.5rem}.dashboard__top{justify-content:flex-end}.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard__split{grid-template-columns:1fr 1fr;align-items:start}.plan-grid{grid-template-columns:1fr 1fr}}@media (width>=760px){.vpp-plan-board{grid-template-columns:1fr 1fr}.energy-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.energy-legend>li{min-width:0}.energy-legend>li+li .energy-legend__item{border-left:1px solid #ffffff1f;padding-left:1.1rem}.energy-legend__item{padding:.15rem .9rem .15rem 0}}.energy-path{grid-column:1/-1;grid-template-columns:subgrid;background:#2a443a;border-radius:26px;align-items:stretch;min-height:168px;display:grid}.energy-path__start{flex-wrap:nowrap;grid-column:1/5;align-items:center;gap:1.25rem 10px;padding:1.5rem 0 1.5rem 40px;display:flex}.energy-path__steps-wrap{flex-direction:column;flex:auto;gap:14px;min-width:0;display:flex}.energy-path__eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#8fd6a8;margin:0;font-size:11.5px;font-weight:700}.energy-path__steps{--step-gap:24px;z-index:0;gap:var(--step-gap);margin:0;padding:0;list-style:none;display:flex;position:relative}.energy-path__step{flex-direction:column;flex:1 1 0;gap:6px;min-width:0;max-width:160px;display:flex;position:relative}.energy-path__step:not(:last-child):after{content:"";z-index:-1;width:calc(100% + var(--step-gap));opacity:.5;height:2px;position:absolute;top:15px;left:15px}.energy-path__step:first-child:after{background:linear-gradient(90deg,#8fd6a8,#b8a877)}.energy-path__step:nth-child(2):after{background:linear-gradient(90deg,#b8a877,#e07a45)}.energy-path__num{background:var(--energy-balance-bg,#1c2f29);color:#8fd6a8;border:1.5px solid #8fd6a887;border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.energy-path__step.is-current .energy-path__num{color:#12291f;background:#8fd6a8;border-color:#8fd6a8}.energy-path__title{color:#f4eee2;font-size:14.5px;font-weight:700}.energy-path__hint{color:#a9b8af;font-size:12.5px;line-height:1.35}.energy-path__cta-wrap{flex-shrink:0;display:inline-flex;position:relative}.energy-path__cta-wrap:before{content:"";opacity:0;pointer-events:none;border:2px solid #e07a45;border-radius:999px;animation:2.6s ease-out infinite energy-cta-ring;position:absolute;inset:-6px}@keyframes energy-cta-ring{0%{opacity:.55;transform:scale(.96)}70%,to{opacity:0;transform:scale(1.12)}}.energy-path__cta{color:#fff;min-height:58px;font:inherit;white-space:nowrap;cursor:pointer;background:#e07a45;border:0;border-radius:999px;align-items:center;gap:10px;padding:0 26px;font-size:17px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 6px 20px #e07a454d}.energy-path__cta:hover{transform:translateY(-2px);box-shadow:0 10px 28px #e07a4573}.energy-path__cta:focus-visible{outline:2px solid var(--on-deep);outline-offset:4px}.energy-path__arrow{transition:transform .15s}.energy-path__cta:hover .energy-path__arrow{transform:translate(3px)}.energy-path__money{grid-column:5;justify-content:center;align-items:center;padding:1.25rem .75rem;display:flex;position:relative}.energy-path__link{width:12px;height:calc(var(--energy-row-gap,78px) + 18px);pointer-events:none;position:absolute;bottom:calc(100% - 18px);left:50%;transform:translate(-50%)}.energy-path__link-line,.energy-path__link-flow{background:linear-gradient(#8fd6a8,#e07a45);margin:0 auto;position:absolute;inset:0}.energy-path__link-line{opacity:.6;border-radius:2px;width:2.5px}.energy-path__link-flow{width:6px;animation:1.1s linear infinite energy-path-flow;-webkit-mask-image:radial-gradient(circle,#000 2.4px,#0000 2.8px);mask-image:radial-gradient(circle,#000 2.4px,#0000 2.8px);-webkit-mask-size:6px 16px;mask-size:6px 16px;-webkit-mask-repeat:repeat-y;mask-repeat:repeat-y}@keyframes energy-path-flow{0%{-webkit-mask-position:0 0;mask-position:0 0}to{-webkit-mask-position:0 16px;mask-position:0 16px}}.energy-path__via{background:var(--energy-balance-bg,#1c2f29);color:#e9efea;white-space:nowrap;border:1px solid #3e5e52;border-radius:13px;padding:4px 14px;font-size:12px;font-weight:700;position:absolute;top:23px;left:50%;transform:translate(-50%)}.energy-path__savings{padding-top:6px}.energy-path__savings-button{color:inherit;font:inherit;cursor:help;background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;margin:0;padding:0;display:flex}.energy-path__savings-button:focus-visible{outline:2px solid var(--on-deep);outline-offset:4px;border-radius:8px}.energy-path__savings-label{letter-spacing:.14em;text-transform:uppercase;color:#a9b8af;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.energy-path__swatch{background:#e07a45;border-radius:3px;width:11px;height:11px}.energy-path__savings-value{font-family:var(--font-display);letter-spacing:.01em;font-variant-numeric:tabular-nums;color:#e07a45;font-size:60px;line-height:1}.energy-path__savings-hint{color:#a9b8af;align-items:center;gap:12px;font-size:15px;display:flex}.energy-path__badge{letter-spacing:.1em;text-transform:uppercase;color:#c9d4cc;border:1px solid #3e5e52;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.energy-path .energy-savings-tip{left:50%;transform:translate(-50%)}.energy-path .energy-savings-tip:after{left:calc(50% - 7px)}@media (prefers-reduced-motion:reduce){.energy-path__cta-wrap:before,.energy-path__link-flow{animation:none}.energy-path__cta,.energy-path__arrow{transition:none}}@media (width<=759px){.energy-path{flex-direction:column;grid-column:1;min-height:0;display:flex}.energy-path__start{flex-direction:column;align-items:stretch;padding:1.5rem 1.25rem 0}.energy-path__steps{--step-gap:14px;flex-direction:column}.energy-path__step:not(:last-child):after{width:2px;height:calc(100% + var(--step-gap));top:15px;left:14px}.energy-path__step:first-child:after{background:linear-gradient(#8fd6a8,#b8a877)}.energy-path__step:nth-child(2):after{background:linear-gradient(#b8a877,#e07a45)}.energy-path__step{grid-template-columns:30px 1fr;column-gap:12px;max-width:none;display:grid}.energy-path__num{grid-row:span 2}.energy-path__cta-wrap,.energy-path__cta{justify-content:center;width:100%}.energy-path__link{display:none}}.reminders{flex-direction:column;gap:1.5rem;width:min(76rem,100%);margin:0 auto;padding:1.25rem 1.15rem 3rem;display:flex}.reminders__top{justify-content:space-between;display:flex}.reminders-page__head{flex-direction:column;gap:1.25rem;display:flex}.reminders-page__title{letter-spacing:-.02em;margin:0;font-size:clamp(2.4rem,6vw,3.3rem);line-height:1.05}.reminders-page__lede{color:var(--ink-secondary);margin:.4rem 0 0}.reminders-page__toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.reminders-page__toolbar>.reminders-pill,.reminders-page__toolbar>.reminders-period{box-sizing:border-box;height:calc(3.1rem + 2px);padding-block:.35rem}.reminders-page__toolbar>.reminders-pill{padding-inline:.35rem}.reminders-page__toolbar .reminders-pill__option{height:2.4rem;font-size:.9rem}.reminders-period{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-secondary);align-items:center;gap:.6rem;padding:.35rem .4rem .35rem 1rem;font-size:.9rem;display:inline-flex}.reminders-period svg{color:var(--accent)}.reminders-period select{border-radius:var(--radius-pill);background:var(--cream-card) var(--select-chevron) no-repeat right .7rem center;appearance:none;min-height:2.4rem;font:inherit;color:var(--ink);cursor:pointer;border:none;padding:0 2.2rem 0 .9rem;font-weight:600}.reminders-pill{border-radius:var(--radius-pill);gap:.2rem;padding:.3rem;display:inline-flex}.reminders-pill--dark{border:1px solid var(--border);background:var(--surface)}.reminders-board__forecast .reminders-pill--dark{background:#f4f1e814;border-color:#0000}.reminders-pill__option{border-radius:var(--radius-pill);min-height:2.4rem;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0 1.1rem;font-size:.9rem;font-weight:500}.reminders-pill__option.is-selected{background:var(--green-deep);color:var(--on-deep);font-weight:600}.reminders-board__forecast .reminders-pill__option{color:var(--on-deep-muted)}.reminders-board__forecast .reminders-pill__option.is-selected{background:var(--paper);color:var(--ink)}.reminders-board{background:var(--surface);border-radius:24px;grid-template-columns:1fr;display:grid;overflow:hidden}.reminders-board__forecast{background:var(--green-deep);color:var(--on-deep);padding:1.75rem 1.4rem 1.5rem}.reminders-board__eyebrow{color:var(--terra-200);letter-spacing:.14em;margin:0}.reminders-board__day{font-family:var(--font-display);color:var(--on-deep);margin:.4rem 0 .25rem;font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:500;line-height:1.15}.reminders-board__detail{color:var(--on-deep-muted);margin:0}.reminders-board__chart-head{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:1.75rem 0 .75rem;display:flex}.reminders-board__chart-title{flex-direction:column;gap:.45rem;display:flex}.reminders-board__legend{color:var(--terra-200);align-items:center;gap:.45rem;font-size:.85rem;display:inline-flex}.reminders-board__swatch{border:1px solid var(--accent);background:#de6a3459;border-radius:3px;width:.85rem;height:.85rem}.reminders-board__chart-head .reminders-pill{margin-left:auto}.reminders-board__note{color:var(--on-deep-muted);margin:.5rem 0 0;font-size:.8rem}.reminders-board__list-inner{flex-direction:column;padding:1.75rem 1.4rem 1.5rem;display:flex}.reminders-board__list-title{margin:0;font-size:1.8rem}.reminders-board__list-lede{border-bottom:1px solid var(--border);color:var(--ink-secondary);margin:.4rem 0 0;padding-bottom:1rem;font-size:.92rem}.reminders-board__empty{color:var(--ink-secondary);margin:1rem 0;font-size:.92rem}.reminder-days{overscroll-behavior:contain;max-height:24rem;margin:0 0 1.25rem;padding:0 .35rem 0 0;list-style:none;overflow-y:auto}.reminder-day{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1rem 0;display:flex}.reminder-day__badge{background:var(--terra-50);width:3.6rem;height:3.6rem;color:var(--accent-deep);letter-spacing:.08em;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:600;display:inline-flex}.reminder-day__badge strong{font-family:var(--font-display);letter-spacing:0;color:var(--ink);font-size:1.5rem;font-weight:500;line-height:1}.reminder-day__copy{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.reminder-day__kwh{font-family:var(--font-display);color:var(--ink);font-size:1.6rem;line-height:1.1}.reminder-day__kwh small{font-family:var(--font-body);color:var(--ink-secondary);font-size:.85rem}.reminder-day__meta{color:var(--ink-secondary);font-size:.82rem}.reminder-day__meta b{color:var(--accent-contrast)}.reminder-switch{border-radius:var(--radius-pill);background:var(--track-light);cursor:pointer;border:none;flex-shrink:0;width:3.5rem;height:2rem;transition:background .2s;position:relative}.reminder-switch__knob{background:var(--surface);border-radius:50%;width:1.6rem;height:1.6rem;transition:transform .2s;position:absolute;top:.2rem;left:.2rem;box-shadow:0 1px 3px #0000002e}.reminder-switch.is-on{background:var(--accent)}.reminder-switch.is-on .reminder-switch__knob{transform:translate(1.5rem)}.reminder-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.reminders-board .reminders-board__download{color:var(--ink);margin-top:auto}.reminders-board__download:disabled{opacity:.5;cursor:not-allowed}.reminders-board__download-all{font:inherit;color:var(--accent-contrast);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;align-self:center;margin-top:.75rem;padding:.25rem;font-size:.9rem;font-weight:600;text-decoration:underline}.reminders-board__download-all:hover{color:var(--accent-contrast-hover)}.reminders-board__download-all:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.reminders-board__privacy{text-align:center;color:var(--ink-secondary);margin:.75rem 0 0;font-size:.82rem}.reminders-board__status{text-align:center;color:var(--success);margin:.25rem 0 0;font-size:.82rem}.reminder-chart{width:100%;height:auto;display:block;overflow:visible}.reminder-chart__unit{fill:var(--on-deep-muted);font-size:11px}.reminder-chart__grid{stroke:#f4f1e814}.reminder-chart__tick{fill:var(--on-deep-muted);font-size:11px}.reminder-chart__area-top{stop-color:var(--accent);stop-opacity:.22}.reminder-chart__area-bottom{stop-color:var(--accent);stop-opacity:0}.reminder-chart__band{fill:#de6a342e;stroke:#de6a3459}.reminder-chart__line{fill:none;stroke:var(--paper);stroke-width:2.5px}.reminder-chart__target{stroke:var(--terra-200);stroke-width:1.5px;stroke-dasharray:5 5}.reminder-chart__target-label{fill:var(--terra-200);font-size:11px;font-weight:600}.reminder-chart__dot{fill:var(--paper-soft)}.reminder-chart__dot.is-recommended{fill:var(--accent);stroke:var(--paper);stroke-width:2px}.reminder-chart__value{fill:var(--on-deep-muted);font-size:12px}.reminder-chart__value.is-recommended{fill:var(--on-deep);font-weight:700}.reminder-chart__label{fill:var(--on-deep-muted);font-size:12px}.reminder-chart__label.is-recommended{fill:var(--terra-200);font-weight:700}@media (width>=900px){.reminders{padding:2.5rem 2.4rem 3rem}.reminders__top{display:none}.reminders-page__head{flex-direction:row;justify-content:space-between;align-items:flex-end}.reminders-board{grid-template-columns:1.65fr 1fr}.reminders-board__forecast,.reminders-board__list-inner{padding:2.25rem 2.25rem 2rem}.reminders-board__list{position:relative}.reminders-board__list-inner{position:absolute;inset:0}.reminder-days{flex:auto;min-height:0;max-height:none}}@media (prefers-reduced-motion:reduce){.reminder-switch,.reminder-switch__knob{transition:none}}.goals{flex-direction:column;gap:1.2rem;width:min(52rem,100%);margin:0 auto;padding:1.25rem 1.15rem 3rem;display:flex}.goals__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.goals__intro h1{margin:0 0 .4rem;font-size:2.15rem}.goals__intro p{color:var(--ink-secondary);max-width:38rem;margin:0}.goals__intro .goals__device-note{align-items:flex-start;gap:.45rem;margin-top:.6rem;font-size:.85rem;display:flex}.goals__device-note svg{color:var(--euc-600);flex-shrink:0;margin-top:.15rem}.goals__loading{color:var(--ink-secondary);margin:0}.goals-setup__step{letter-spacing:.02em;color:var(--ink-secondary);margin:0 0 .35rem;font-size:.82rem;font-weight:600}.goals-setup__baseline{margin:.9rem 0 .5rem}.goals-setup .goals-setup__change{width:auto;margin-bottom:1rem}.goals-history__remove.ui-btn{width:auto;padding:.3rem .75rem;font-size:.82rem}.goals-overview{flex-direction:column;gap:.8rem;display:flex}.goals-overview__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;display:flex}.goals-overview__head h2{margin:0;font-size:1.45rem}.goals-card__target{font-family:var(--font-display);color:var(--ink);margin:.15rem 0 .7rem;font-size:1.9rem;font-weight:500;line-height:1.15}.goal-progress__text{color:var(--ink);flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .45rem;font-size:.9rem;display:flex}.goal-progress__track{border-radius:var(--radius-pill);background:var(--track-light);height:.6rem;overflow:hidden}.goal-progress__fill{border-radius:inherit;height:100%;transition:width var(--motion) var(--ease-out);display:block}.goal-progress--savings .goal-progress__fill{background:var(--accent-deep)}.goal-progress--carbon .goal-progress__fill{background:var(--euc-600)}.goals-setup h2{margin:0 0 .35rem}.goals-form{flex-direction:column;gap:1.1rem;display:flex}.goals-form__fields{grid-template-columns:1fr;gap:1.4rem;display:grid}.goals-form__field{flex-direction:column;gap:.5rem;display:flex}.goals-form__suggestion{color:var(--ink-secondary);flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0;font-size:.82rem;display:flex}.goals-form__current{color:var(--ink);margin:0;font-size:.82rem;font-weight:600}.goals-form__actions{flex-wrap:wrap;gap:.6rem;display:flex}.goals-form__actions .ui-btn{width:auto}.goals-form__explainers{flex-direction:column;gap:.75rem;display:flex}.goals-examples{margin-top:0}.goals-range__goal{margin-top:.75rem}.goals-range__title{color:var(--ink);margin:0;font-weight:700}.goals-examples__panel .goals-range__note{color:var(--ink-secondary);margin-top:.5rem}.goals-examples__panel p+p{margin-top:.4rem}.goals-examples__list{flex-direction:column;gap:.3rem;margin:.5rem 0;padding-left:1.2rem;font-size:.92rem;display:flex}.goals-examples__near{color:var(--ink-secondary)}.goals-upload h2{margin:0 0 .5rem}.goals-upload__locked{color:var(--ink-secondary);align-items:flex-start;gap:.45rem;margin:0;font-size:.9rem;display:flex}.goals-upload__locked svg{flex-shrink:0;margin-top:.15rem}.goals-upload__setup.ui-btn,.goals-file-guide>.ui-btn,.goals-file .ui-btn,.goals-summary .ui-btn,.goal-message .ui-btn{width:auto}.goals-upload__setup.ui-btn{margin-top:.8rem}.goals-upload__privacy{color:var(--euc-800);background:var(--euc-50);border-radius:var(--radius-input);align-items:flex-start;gap:.45rem;margin:0 0 1.1rem;padding:.65rem .8rem;font-size:.88rem;display:flex}.goals-upload__privacy svg{flex-shrink:0;margin-top:.15rem}.goals-summary h3{margin:0 0 .6rem;font-size:1.1rem}.goals-examples__panel .goals-source__subtitle{margin-top:.8rem}.goals-source__columns code{overflow-wrap:anywhere;font-size:.85rem;font-weight:600}.goals-file-guide{margin-bottom:.9rem}.goals-source__link{font:inherit;color:var(--accent-deep);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.goals-source__link:hover{color:var(--terra-900)}.goals-upload__hint{color:var(--ink-secondary);margin:1rem 0 0;font-size:.9rem}.goals-file{flex-direction:column;gap:.8rem;margin-top:1.2rem;display:flex}.goals-file__drop{border:1.5px dashed var(--border-strong);border-radius:var(--radius-card);background:var(--surface-sunken);text-align:center;width:100%;min-height:10rem;transition:border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:2rem 1.25rem;display:flex}.goals-file__drop.is-dragging{border-color:var(--euc-600);background:var(--euc-50)}.goals-file__drop-text{color:var(--ink-secondary);margin:0;font-size:.9rem}.goals-file__chosen{flex-direction:column;gap:.6rem;display:flex}.goals-file__name{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.92rem}.goals-file__label{font-weight:700}.goals-file__size{color:var(--ink-secondary)}.goals-file__actions,.goals-summary__actions,.goal-message__actions{flex-wrap:wrap;gap:.6rem;display:flex}.goals-upload__status{color:var(--ink-secondary);margin:.8rem 0 0;font-size:.88rem}.goals-upload__status:empty{margin:0}.goals-summary{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.goals-summary__facts{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem 1rem;margin:0 0 .8rem;display:grid}.goals-summary__facts dt{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);font-size:.75rem;font-weight:600}.goals-summary__facts dd{color:var(--ink);margin:.1rem 0 0;font-weight:600}.goals-summary__note{color:var(--ink-secondary);margin:0 0 .5rem;font-size:.88rem}.goals-summary__actions{margin-top:.8rem}.goals__upload-status{color:var(--ink-secondary);margin:0;font-size:.88rem}.goals__upload-status:empty{display:none}.goals-preview__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.goals-preview__head h2{margin:0}.goals-preview__unsaved{letter-spacing:.04em;text-transform:uppercase;color:var(--terra-900);background:var(--terra-50);border:1px solid var(--terra-200);border-radius:var(--radius-pill);padding:.15rem .6rem;font-size:.75rem;font-weight:700}.goals-preview .dashboard-card__lede{margin-top:.4rem}.goals-preview__figures,.goals-preview__progress{grid-template-columns:1fr;gap:1rem;display:grid}.goals-preview__figure{border-radius:var(--radius-card);background:var(--surface-sunken);padding:.9rem 1rem}.goals-preview__figure .eyebrow{margin:0}.goals-preview__value{font-family:var(--font-display);color:var(--ink);flex-wrap:wrap;align-items:center;gap:.45rem;margin:.2rem 0;font-size:1.8rem;font-weight:500;line-height:1.15;display:flex}.goals-preview__note{color:var(--ink-secondary);margin:.4rem 0 0;font-size:.85rem}.goals-preview__subtitle{margin:1.3rem 0 .6rem;font-size:1.05rem}.goals-preview__breakdown{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem 1rem;margin:0;display:grid}.goals-preview__breakdown dt{color:var(--ink-secondary);font-size:.78rem}.goals-preview__breakdown dd{color:var(--ink);margin:.1rem 0 0;font-weight:600}.goals-preview .goals-examples{margin-top:1rem}.goals-preview__progress .eyebrow{margin:0 0 .3rem}.goals-preview__actions{flex-wrap:wrap;gap:.6rem;margin-top:.8rem;display:flex}.goals-preview__actions .ui-btn{width:auto}.goals-history h2{margin:0 0 .35rem}.goals-history__empty{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.goals-history__empty p{color:var(--ink-secondary);margin:0}.goals-history__empty .ui-btn,.goals-danger .ui-btn,.goals-clear-dialog__footer .ui-btn{width:auto}.goals-history__scroll{overflow-x:auto}.goals-history__table{border-collapse:collapse;width:100%;font-size:.9rem}.goals-history__table caption{text-align:left;color:var(--ink);padding-bottom:.6rem;font-weight:600}.goals-history__table th,.goals-history__table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .75rem .6rem 0}.goals-history__table thead th{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);font-size:.75rem;font-weight:600}.goals-history__table tbody th{color:var(--ink);white-space:nowrap;font-weight:600}.goals-history__partial{color:var(--terra-900);font-weight:600}.goals-history__note{color:var(--ink-secondary);margin:.6rem 0 0;font-size:.82rem}.goals-danger{border-top:1px solid var(--border-strong);margin-top:1rem;padding-top:1.2rem}.goals-danger h2{margin:0 0 .35rem;font-size:1.15rem}.goals-danger p{color:var(--ink-secondary);max-width:38rem;margin:0 0 .8rem;font-size:.9rem}.goals-clear-dialog__body{color:var(--ink);align-items:flex-start;gap:.5rem;margin:0;display:flex}.goals-clear-dialog__body svg{color:var(--danger);flex-shrink:0;margin-top:.2rem}.goals-clear-dialog__footer{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.goals-overview__layout{grid-template-columns:1fr;gap:1rem;display:grid}.goal-tree{border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:center;gap:.6rem;margin:0;padding:1rem;display:flex}.goal-tree__art{width:min(100%,17rem)}.goal-tree__art svg{width:100%;height:auto;display:block}.goal-tree__ground{fill:var(--euc-100)}.goal-tree__seed{fill:var(--terra-800)}.goal-tree__trunk{fill:var(--terra-900)}.goal-tree__branch{stroke:var(--terra-900);stroke-linecap:round}.goal-tree__sprout,.goal-tree__leaves--a{fill:var(--euc-400)}.goal-tree__leaves--b{fill:var(--euc-600)}.goal-tree__leaves--c{fill:var(--euc-200)}.goal-tree__art.is-full .goal-tree__leaves--c{fill:var(--euc-400)}.goal-tree__fruit{fill:var(--accent);stroke:var(--terra-800);stroke-width:1px}.goal-tree__caption{text-align:center;color:var(--ink-secondary);flex-direction:column;gap:.2rem;font-size:.82rem;display:flex}.goal-tree__stage{color:var(--ink);text-transform:capitalize;font-size:.95rem;font-weight:700}.goals-card__insights{color:var(--ink-secondary);flex-direction:column;gap:.35rem;margin:.8rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.goals-card__insights li{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.goals-overview__cards{grid-template-columns:1fr;gap:1rem;display:grid}.goals-chart__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;display:flex}.goals-chart__head h2{margin:0}.goals-chart .dashboard-card__lede{margin-top:.5rem}.goals-chart__toggle{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-sunken);padding:.2rem;display:inline-flex}.goals-chart__toggle-option,.goals-chart__month{border-radius:var(--radius-pill);min-height:2.25rem;font:inherit;color:var(--ink-secondary);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);background:0 0;border:1px solid #0000;padding:.35rem .9rem;font-size:.85rem;font-weight:600}.goals-chart__toggle-option.is-selected,.goals-chart__month.is-selected{background:var(--green-deep);color:var(--on-deep)}.goals-chart__defs{width:0;height:0;position:absolute}.goals-chart__plot{width:100%;margin-top:.5rem}.goals-chart__plot:focus-within{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:var(--radius-input)}.goals-chart__plot .recharts-wrapper:focus,.goals-chart__plot .recharts-surface:focus{outline:none}.goals-chart__grid line{stroke:var(--border)}.goals-chart__axis text{fill:var(--ink-secondary);font-size:.75rem}.goals-chart__axis line,.goals-chart__axis path{stroke:var(--border-strong)}.goals-chart__plot--savings .goals-chart__bar path,.goals-chart__plot--savings .goals-chart__bar{fill:var(--accent-deep)}.goals-chart__plot--carbon .goals-chart__bar path,.goals-chart__plot--carbon .goals-chart__bar{fill:var(--euc-400)}.goals-chart__plot .goals-chart__bar.is-partial,.goals-chart__plot .goals-chart__bar.is-partial path{fill:url(#goals-hatch)}.goals-chart__plot--savings .goals-chart__bar.is-partial,.goals-chart__plot--savings .goals-chart__bar.is-partial path,.goals-chart__plot--carbon .goals-chart__bar.is-partial,.goals-chart__plot--carbon .goals-chart__bar.is-partial path{fill:url(#goals-hatch);stroke:var(--ink-secondary);stroke-width:1px}.goals-chart__hatch-bg{fill:var(--surface-sunken)}.goals-chart__hatch-line{stroke:var(--ink-secondary);stroke-width:2px}.goals-chart__partial-label{fill:var(--ink);font-size:.7rem;font-weight:700}.goals-chart__line .recharts-line-curve,.goals-chart__line path{stroke:var(--green-deep);stroke-width:2.5px;fill:none}.goals-chart__dot{fill:var(--surface);stroke:var(--green-deep);stroke-width:2px}.goals-chart__goal line{stroke:var(--ink);stroke-dasharray:6 4}.goals-chart__goal-label{fill:var(--ink);font-size:.75rem;font-weight:700}.goals-chart__cursor{fill:var(--euc-50)}.goals-chart__tooltip{border-radius:var(--radius-input);background:var(--green-deep);color:var(--on-deep);padding:.2rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.goals-chart__months{flex-wrap:wrap;gap:.4rem;margin-top:.8rem;display:flex}.goals-chart__month{border-color:var(--border);background:var(--surface)}.goals-chart__panel{border-radius:var(--radius-card);background:var(--surface-sunken);margin-top:.8rem;padding:.8rem 1rem}.goals-chart__panel-title{color:var(--ink);margin:0 0 .4rem;font-weight:700}.goals-chart__panel dl{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem 1rem;margin:0 0 .5rem;display:grid}.goals-chart__panel dt{color:var(--ink-secondary);font-size:.78rem}.goals-chart__panel dd{color:var(--ink);margin:.1rem 0 0;font-weight:600}.goals-form__note{border-radius:var(--radius-input);background:var(--euc-50);color:var(--euc-800);margin:0;padding:.6rem .8rem;font-size:.88rem}.goals-card__reached{flex-direction:column;gap:.6rem;margin-top:.8rem;display:flex}.goals-card__reached-label{border-radius:var(--radius-pill);background:var(--euc-50);color:var(--euc-800);align-self:flex-start;margin:0;padding:.2rem .65rem;font-size:.82rem;font-weight:700}.goals-card__reached-actions{flex-wrap:wrap;gap:.5rem;display:flex}.goals-card__reached-actions .ui-btn{width:auto}.goals-levelup{overflow:hidden}.goals-confetti{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;inset:0}.goals-levelup__panel{z-index:1;position:relative}.goals-levelup__facts{gap:.6rem;margin:.8rem 0 .6rem;display:grid}.goals-levelup__facts dt{color:var(--ink-secondary);font-size:.8rem}.goals-levelup__facts dd{font-family:var(--font-display);color:var(--ink);flex-wrap:wrap;align-items:center;gap:.4rem;margin:.1rem 0 0;font-size:1.35rem;font-weight:500;display:flex}.goal-message{border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface-sunken);color:var(--ink);align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.9rem;display:flex}.goal-message>svg{flex-shrink:0;margin-top:.1rem}.goal-message--error{border-color:var(--terra-200);background:var(--terra-50)}.goal-message--error>svg{color:var(--danger)}.goal-message--warning>svg{color:var(--warning)}.goal-message--info{background:var(--euc-50);border-color:#0000}.goal-message--info>svg{color:var(--euc-600)}.goal-message__content{flex-direction:column;gap:.4rem;min-width:0;display:flex}.goal-message__content p{margin:0}.goal-message__title{font-weight:700}.goal-message__severity{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.goal-message__details ul{margin:0;padding-left:1.2rem}.goal-message__next{color:var(--ink-secondary)}.goal-message__next-label{color:var(--ink);font-weight:600}.goal-message__actions{margin-top:.2rem}.goals-history__revised{color:var(--ink-secondary);font-size:.75rem;font-weight:600;display:block}.goals-problems{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.goals-problems ul{overflow-wrap:anywhere;margin:0;padding-left:1.2rem;font-size:.85rem}.goals-problems .ui-btn,.goals-revisions__confirm .ui-btn{width:auto}.goals-revisions{flex-direction:column;gap:.6rem;display:flex}.goals-revisions__table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius-input);width:100%;font-size:.85rem}.goals-revisions__table caption{text-align:left;padding-bottom:.3rem;font-weight:600}.goals-revisions__table th,.goals-revisions__table td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .6rem}.goals-revisions__table thead th{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);font-size:.72rem;font-weight:600}.goals-revisions__confirm{flex-direction:column;gap:.5rem;display:flex}.goals-revisions__confirm p{margin:0;font-weight:600}@media (width>=720px){.goals-overview__layout{grid-template-columns:minmax(15rem,1fr) 1.4fr;align-items:stretch}.goals-overview__layout .goal-tree{justify-content:center}.goals-overview__layout .goal-tree__art{contain:size;flex:1 1 0;width:100%;min-height:14rem}.goals-overview__layout .goal-tree__art svg{width:100%;height:100%}.goals-form__fields,.goals-preview__figures,.goals-preview__progress{grid-template-columns:1fr 1fr}}@media (width>=900px){.goals{padding:1.6rem 2.4rem 3.5rem}}@media (prefers-reduced-motion:reduce){.goal-progress__fill,.goals-file__drop,.goals-chart__toggle-option,.goals-chart__month{transition:none}}.goals--overview{gap:1.75rem;width:min(76rem,100%)}.goals.goals--setup-board{gap:1.75rem;width:100%;max-width:none;margin:0;padding:3rem 3.5rem 2.5rem}.goals.goals--setup-board .goals-head{width:100%;max-width:1240px;margin-inline:auto}.goals.goals--form-board{gap:2rem;width:100%;max-width:none;margin:0;padding:3rem 3.5rem 2.5rem}.goals.goals--form-board .goals-head{width:100%;max-width:1240px;margin-inline:auto}.goals.goals--form-board .goals-notice--setup{margin-inline:auto}.goals.goals--form-board .goals-head__eyebrow{letter-spacing:.12em;color:#a8441a;font-size:.875rem}.goals.goals--form-board .goals-head__title{font-size:clamp(2rem,4vw,2.875rem)}.goals-notice .ui-callout{align-items:center;gap:.65rem 1rem}.goals-notice .ui-callout>div{flex:auto;min-width:0}.goals-notice .ui-callout--action{justify-content:flex-start}.goals-notice__dismiss.ui-btn{flex-shrink:0;width:auto;min-height:2.25rem;margin-left:auto;padding:.35rem .85rem;font-size:.875rem}.goals-notice--setup{width:100%;max-width:1240px}.goals--setup-board .goals-notice--setup{margin-inline:auto}.goals-notice--setup .ui-callout{width:100%;max-width:36rem}.goals-head{flex-direction:column;gap:1.25rem;display:flex}.goals-head__eyebrow{color:var(--accent-contrast);letter-spacing:.14em;margin:0}.goals-head__title{letter-spacing:-.02em;margin:.35rem 0 .5rem;font-size:clamp(2.2rem,5.5vw,3.2rem);line-height:1.05}.goals-head__lede{color:var(--ink-secondary);margin:0}.goals-head__actions{flex-wrap:nowrap;flex-shrink:0;gap:.6rem;display:flex}.goals-head__actions .ui-btn{white-space:nowrap;width:auto;padding:.7rem 1.2rem;font-size:.88rem}.goals-head__upload.ui-btn{color:var(--ink)}.goals-garden{background:var(--green-deep);color:var(--on-deep);border-radius:28px;flex-direction:column;gap:1.5rem;padding:1.75rem 1.25rem 1.5rem;display:flex}.goals-garden__side{flex-direction:column;gap:.85rem;display:flex}.goals-garden__legend{color:var(--terra-200);margin:0;font-size:.9rem;line-height:1.55}.goals-garden__actions{justify-content:flex-end;align-items:flex-end;min-height:2.8rem;display:flex}.goals-garden .goals-garden__edit{width:auto;padding:.6rem 1.1rem;font-size:.85rem}.goals-garden__layout{grid-template-columns:1fr;align-items:start;gap:1.25rem;display:grid}.goals-garden__tree{order:-1}.goals-garden .goal-tree{background:0 0;border:none;padding:0}.goals-garden .goal-tree__art{width:min(100%,20rem)}.goals-garden .goal-tree__ground{fill:var(--green-deeper)}.goals-garden .goal-tree__trunk,.goals-garden .goal-tree__branch{fill:#8a5a3c;stroke:#8a5a3c}.goals-garden .goal-tree__leaves--a{fill:#2f5a48}.goals-garden .goal-tree__leaves--b{fill:#3b6b55}.goals-garden .goal-tree__leaves--c{fill:#4a7a63}.goals-garden .goal-tree__fruit{fill:var(--accent);stroke:#de6a3459;stroke-width:4px}.goal-card{background:var(--surface-raised-on-dark);border:1px solid #f4f1e81a;border-radius:16px;flex-direction:column;gap:1rem;padding:1.15rem 1.15rem 1rem;display:flex}.goal-card__head{justify-content:space-between;align-items:center;display:flex}.goal-card__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--on-deep);align-items:center;gap:.5rem;margin:0;font-size:.7rem;font-weight:600;display:inline-flex}.goal-card__dot{background:var(--accent);border-radius:50%;width:.45rem;height:.45rem}.goal-card--carbon .goal-card__dot{background:var(--euc-200)}.goal-card__badge{color:var(--on-deep-muted);font-size:.7rem}.goal-card__body{align-items:center;gap:1rem;display:flex}.goal-ring{flex-shrink:0;width:4.75rem;height:4.75rem;position:relative}.goal-ring svg{width:100%;height:100%}.goal-ring__track{fill:none;stroke:#f4f1e81f;stroke-width:6px}.goal-ring__fill{fill:none;stroke:var(--accent);stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset .6s}.goal-ring--carbon .goal-ring__fill{stroke:var(--euc-200)}.goal-ring__label{flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;inset:0}.goal-ring__label strong{font-size:1rem}.goal-ring__label small{color:var(--on-deep-muted);font-size:.62rem}.goal-card__figures p{margin:0}.goal-card__total{font-family:var(--font-display);font-size:2rem;line-height:1.1}.goal-card__target,.goal-card__detail{color:var(--on-deep-muted);font-size:.8rem}.goal-card__stats{border-top:1px solid #f4f1e81a;grid-template-columns:1fr 1fr;gap:1rem;margin:0;padding-top:.85rem;display:grid}.goal-card__stats dt{color:var(--on-deep-muted);font-size:.72rem}.goal-card__stats dd{color:var(--on-deep);margin:.15rem 0 0;font-size:.85rem;font-weight:600}.goal-card__reached{border-top:1px solid #f4f1e81a;flex-direction:column;gap:.6rem;padding-top:.85rem;display:flex}.goal-card__reached-label{color:var(--terra-200);margin:0;font-size:.85rem;font-weight:600}.goal-card__reached-actions{flex-wrap:wrap;gap:.5rem;display:flex}.goal-card__reached-actions .ui-btn{width:auto;padding:.55rem .9rem;font-size:.82rem}.goal-stages{padding:1.75rem .5rem 0;position:relative}.goal-stages__track{background:#f4f1e826;height:2px;position:absolute;top:2.85rem;left:10%;right:10%}.goal-stages__done{background:var(--terra-400);position:absolute;inset:0 auto 0 0}.goal-stages__today{background:var(--accent);border-radius:50%;width:.85rem;height:.85rem;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #de6a3440}.goal-stages__today-label{white-space:nowrap;color:var(--accent);font-size:.72rem;font-weight:600;position:absolute;bottom:1.35rem;left:50%;transform:translate(-50%)}.goal-stages__list{grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none;display:grid;position:relative}.goal-stages__stage{text-align:center;flex-direction:column;align-items:center;gap:.2rem;display:flex}.goal-stages__icon{background:var(--green-deep);border:1.5px solid #f4f1e84d;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;margin-bottom:.35rem;display:inline-flex}.goal-stages__icon svg{fill:none;width:1rem;height:1rem;stroke:var(--on-deep-muted);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.goal-stages__stage.is-reached .goal-stages__icon{border-color:var(--terra-400)}.goal-stages__stage.is-reached .goal-stages__icon svg{stroke:var(--terra-200)}.goal-stages__name{color:var(--on-deep-muted);font-size:.78rem}.goal-stages__stage.is-reached .goal-stages__name{color:var(--on-deep)}.goal-stages__stage.is-current .goal-stages__name{font-weight:700}.goal-stages__kg{color:var(--on-deep-muted);font-size:.7rem}.goals-history-panel{background:var(--surface);border-radius:20px;padding:1.5rem 1.25rem}.goals-history-panel__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.goals-history-panel__head h2{margin:0;font-size:1.6rem}.goals-history-panel__summary{color:var(--ink-secondary);margin:.3rem 0 0;font-size:.85rem}.goals-history-panel__toggle{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.goals-history-panel__chevron{background:var(--cream-card);border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.goals-history-panel__chevron.is-open svg{transform:rotate(180deg)}.goals-history-panel__body{flex-direction:column;gap:1rem;padding-top:1rem;display:flex}.history-legend{color:var(--ink-secondary);flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.history-legend li{align-items:center;gap:.45rem;display:inline-flex}.history-legend__swatch{border-radius:2px;width:.75rem;height:.75rem}.history-legend__swatch--savings{background:var(--accent)}.history-legend__swatch--carbon{background:var(--euc-600)}.history-legend__swatch--partial{background:repeating-linear-gradient(45deg, var(--accent) 0 2px, transparent 2px 5px)}.history-bars{overflow-x:auto}.history-bars svg{width:100%;height:auto;display:block}.history-bars__grid{stroke:var(--border)}.history-bars__tick,.history-bars__amount{fill:var(--ink-muted);font-size:11px}.history-bars__month{fill:var(--ink);font-size:12px;font-weight:600}.history-bars__bar--savings{fill:var(--accent)}.history-bars__bar--carbon{fill:var(--euc-600)}.history-bars__bar.is-partial{stroke-width:1.5px}.history-bars__bar--savings.is-partial{stroke:var(--terra-200)}.history-bars__bar--carbon.is-partial{stroke:var(--euc-200)}.history-bars__hatch-bg--savings{fill:var(--terra-50)}.history-bars__hatch-bg--carbon{fill:var(--euc-50)}.history-bars__hatch{stroke-width:3px}.history-bars__hatch--savings{stroke:var(--accent)}.history-bars__hatch--carbon{stroke:var(--euc-600)}.goals-history-panel .goals-history__table thead th{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-secondary);font-size:.7rem}.goals-history-panel .goals-history__partial{color:var(--accent-contrast);font-weight:500}.goals-history__remove{font:inherit;color:var(--ink-secondary);cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.8rem;text-decoration:underline}.goals-history__remove:hover{color:var(--danger)}.goals-footer{border-top:1px solid var(--border-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem;display:flex}.goals-footer p{color:var(--ink-secondary);margin:0;font-size:.85rem}.goals-footer .goals-footer__clear{width:auto;color:var(--danger);border-color:var(--border-strong);padding:.65rem 1.1rem;font-size:.85rem}.upload-dialog{width:min(28rem,100% - 2rem)}.upload-dialog__panel{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.upload-dialog__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.upload-dialog__head h2{margin:0;font-size:1.55rem}.upload-dialog__head p{color:var(--ink-secondary);margin:.35rem 0 0;font-size:.88rem}.upload-dialog__close,.upload-file__remove{background:var(--cream-card);width:2.1rem;height:2.1rem;color:var(--ink);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.upload-file{border:1px solid var(--border);border-radius:14px;align-items:center;gap:.85rem;padding:.85rem;display:flex}.upload-file__badge{background:var(--euc-50);width:2.5rem;height:2.5rem;color:var(--euc-800);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}.upload-file__copy{flex:1;min-width:0}.upload-file__name{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;font-weight:600;overflow:hidden}.upload-file__meta{color:var(--success);margin:.15rem 0 0;font-size:.78rem}.upload-source{gap:.5rem;display:flex}.upload-source__option{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);min-height:2.5rem;font:inherit;cursor:pointer;flex:1;font-weight:600}.upload-summary{background:var(--green-deep);color:var(--on-deep);border-radius:14px;padding:1.1rem 1.15rem}.upload-summary__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--terra-200);margin:0 0 .6rem;font-size:.7rem;font-weight:600}.upload-summary__figures{border-bottom:1px solid #f4f1e81f;grid-template-columns:1fr 1fr;gap:1rem;padding-bottom:.85rem;display:grid}.upload-summary__figures p{margin:0}.upload-summary__value{font-family:var(--font-display);font-size:1.7rem;line-height:1.1}.upload-summary__after{color:var(--on-deep-muted);font-size:.75rem}.upload-summary__tree{align-items:flex-start;gap:.6rem;margin:.85rem 0 0;font-size:.85rem;display:flex}.upload-summary__tree strong{color:var(--euc-200)}.upload-summary__orange{background:var(--accent);border-radius:50%;flex-shrink:0;width:1rem;height:1rem;margin-top:.1rem}.upload-summary__note{color:var(--on-deep-muted);margin:.6rem 0 0;font-size:.72rem}.upload-dialog__links{margin:0}.upload-dialog__drop.goals-file-card__drop{flex-grow:0;gap:.45rem;min-height:0;padding:1.1rem 1rem 1rem}.upload-dialog__drop .goals-file-card__csv-art{width:92px;height:auto;margin-bottom:.25rem}.upload-dialog__drop .goals-file-card__drop-title{font-size:1.2rem}.upload-dialog__drop .goals-file-card__drop-browse{font-size:.875rem}.upload-dialog__drop .goals-file-card__format-hint{margin-top:.1rem;font-size:.78rem}.upload-dialog__input:focus-visible+.upload-dialog__drop{outline:3px solid var(--focus-ring);outline-offset:3px}.upload-dialog .goals-file-card__privacy{min-width:0;font-size:.8125rem}.upload-dialog .goals-file-card__guide{min-height:0;padding:.25rem 0;font-size:.875rem}.upload-dialog .goals-file-card__guide-panel{font-size:.82rem}.upload-dialog .goals-file-card__guide-panel p,.upload-dialog .goals-file-card__guide-panel ul{margin:0 0 .4rem}.upload-dialog__actions{justify-content:flex-end;gap:.6rem;display:flex}.upload-dialog__actions .ui-btn{width:auto;padding:.7rem 1.2rem}.upload-dialog__actions .ui-btn--primary{color:var(--ink)}.upload-dialog__actions .ui-btn--primary:disabled{background:var(--border-strong);color:var(--ink-secondary);cursor:not-allowed}@media (width>=900px){.goals--overview{padding:2.5rem 2.4rem 3rem}.goals-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:2rem}.goals-head__title{white-space:nowrap;font-size:clamp(2rem,3.3vw,3.2rem)}.goals-head__lede{white-space:nowrap}.goals-garden{padding:1.75rem 2rem}.goals-garden__legend{white-space:nowrap}.goals-garden__layout{grid-template-columns:1fr 1.15fr 1fr}.goals-garden__tree{order:0}.goals-history-panel{padding:1.75rem 2rem}}@media (prefers-reduced-motion:reduce){.goal-ring__fill{transition:none}}.upload-dialog__note{color:var(--ink-secondary);margin:0;font-size:.8rem}.goals-setup-shell{flex-direction:column;gap:1.5rem;width:100%;max-width:1240px;margin-inline:auto;display:flex}.goals-setup-board{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.5rem;width:100%;display:grid}.goals-setup-footer{justify-content:flex-end;width:100%;padding-top:.5rem;display:flex}.goals-setup-footer__save.ui-btn{border-radius:var(--radius-pill);background:#c4531e;border-color:#c4531e;min-width:13.75rem;min-height:3.25rem}.goals-setup-footer__save.ui-btn:hover:not(:disabled){background:var(--accent-contrast-hover,#a8441a);border-color:var(--accent-contrast-hover,#a8441a)}.goals-setup-footer__save.ui-btn:disabled{color:#5f5b54;cursor:not-allowed;background:#d8cfbf;border-color:#d8cfbf}.goals-file-card{background:var(--surface);border-radius:1.375rem;flex-direction:column;gap:1.125rem;height:100%;min-height:100%;padding:2rem;display:flex}.goals-file-card__eyebrow{color:#a8441a;letter-spacing:.04em;text-transform:uppercase;background:#f3e4d4;border-radius:999px;align-self:flex-start;margin:0;padding:.25rem .75rem;font-size:.8125rem;font-weight:600}.goals-file-card__title{font-family:var(--font-display);margin:0;font-size:1.625rem;font-weight:500;line-height:1.2}.goals-file-card__lede{color:var(--ink-secondary);margin:0;font-size:.9375rem;line-height:1.45}.goals-file-card__profile-fields{flex-direction:column;gap:1rem;display:flex}.goals-file-card__hint{color:var(--ink-secondary);margin:0;font-size:.9375rem}.goals-file-card__drop{text-align:center;cursor:pointer;background:#fbf4ec;border:2px dashed #d9b79c;border-radius:1.125rem;flex-direction:column;flex-grow:1;justify-content:center;align-items:center;gap:.875rem;min-height:18.75rem;margin:0;padding:1.5rem 1.25rem 1.25rem;transition:background .2s,border-color .2s;display:flex}.goals-file-card__drop:hover:not(.goals-file-card__drop--disabled),.goals-file-card__drop--active{border-color:var(--accent);background:#f7e8d9}.goals-file-card__drop:hover:not(.goals-file-card__drop--disabled) .goals-file-card__csv-art,.goals-file-card__drop--active .goals-file-card__csv-art{transform:translateY(-8px)rotate(-4deg)}.goals-file-card__drop--disabled{opacity:.55;cursor:not-allowed}.goals-file-card__drop:focus-within{outline-offset:3px;outline:3px solid #cfddd4}.goals-file-card__csv-art{transform-origin:50%;transition:transform .35s;display:block}.goals-file-card__drop-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.5rem;font-weight:500;line-height:1.25}.goals-file-card__drop-browse{color:var(--ink-secondary);margin:0;font-size:.9375rem}.goals-file-card__drop-link{color:#a8441a;text-decoration:underline}.goals-file-card__format-hint{color:var(--ink-secondary);margin:.25rem 0 0;font-size:.8125rem}.goals-file-card__change{color:#a8441a;cursor:pointer;background:0 0;border:none;align-self:flex-start;margin:0;padding:0;font-size:.9375rem;font-weight:600;text-decoration:underline}.goals-file-card__status{margin:0;font-size:.9375rem}.goals-file-card__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;display:flex}.goals-file-card__privacy{color:#1f3b31;flex:1;align-items:flex-start;gap:.375rem;min-width:12rem;margin:0;font-size:.875rem;line-height:1.4;display:flex}.goals-file-card__guide{color:#a8441a;cursor:pointer;background:0 0;border:none;min-height:2.75rem;padding:.5rem 0;font-size:.9375rem;font-weight:600;text-decoration:underline}.goals-targets{background:#fff;border-radius:1.375rem;flex-direction:column;min-height:100%;display:flex;overflow:hidden}.goals-targets__band{background:#17302a;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;padding:1.75rem 2rem;display:flex}.goals-targets__title{font-family:var(--font-display);color:#f4efe6;margin:0 0 .35rem;font-size:1.625rem;font-weight:500;line-height:1.2}.goals-targets__helper{color:#c9d6cf;max-width:22rem;margin:0;font-size:.9375rem;line-height:1.4}.goals-targets__badge{background:#23463a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:4rem;height:4rem;display:flex}.goals-targets__body{flex-direction:column;flex-grow:1;gap:1.375rem;padding:1.75rem 2rem 2rem;display:flex}.goals-targets__profile{color:#1f3b31;background:#dde6df;border-radius:.875rem;align-items:flex-start;gap:.625rem;margin:0;padding:.875rem 1rem;font-size:.9375rem;line-height:1.45;display:flex}.goals-panel-form__fields-wrap{flex-grow:1;min-height:14rem;position:relative}.goals-panel-form__fields--placeholder{opacity:.4;flex-direction:column;gap:1.375rem;display:flex}.goals-panel-placeholder__box{background:#fff;border:1.5px solid #cfc6b5;border-radius:.875rem;min-height:3.75rem}.goals-panel-placeholder__bar{background:#d8cfbf;border-radius:999px;width:100%;height:.375rem;margin-top:.75rem}.goals-panel-placeholder__bar--short{width:55%;margin-top:.5rem}.goals-panel-form__callout{text-align:center;pointer-events:none;background:#fff;border:1px solid #e5d9c8;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;width:min(100%,18rem);max-height:fit-content;margin:auto;padding:1.375rem 1.625rem;display:flex;position:absolute;inset:0;box-shadow:0 12px 32px #17302a14}.goals-panel-form__callout-icon{color:#fff;background:#c4531e;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:700;display:inline-flex}.goals-panel-form__callout-title{margin:0 0 .35rem;font-size:1rem;font-weight:600}.goals-panel-form__callout-body{color:var(--ink-secondary);margin:0;font-size:.875rem;line-height:1.45}.goals-panel-form{flex-direction:column;flex-grow:1;gap:1.25rem;display:flex}.goals-panel-form__fields{flex-direction:column;gap:1.375rem;display:flex}.goals-panel-field__label-row{align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.goals-panel-field__label{margin:0;font-size:.9375rem;font-weight:600;display:block}.goals-panel-field__group{background:#fff;border:1.5px solid #cfc6b5;border-radius:.875rem;align-items:center;min-height:3.75rem;padding:0 1rem;display:flex}.goals-panel-field__group:focus-within{border-color:#24463a;box-shadow:0 0 0 3px #cfddd4}.goals-panel-field__prefix{color:#a8441a;margin-right:.35rem;font-size:1.375rem;font-weight:600}.goals-panel-field__input{min-width:0;font-family:var(--font-display);color:var(--ink);background:0 0;border:none;flex:1;font-size:1.625rem;font-weight:500}.goals-panel-field__input:focus{outline:none}.goals-panel-field__suffix{color:var(--ink-secondary);margin-left:.5rem;font-size:.9375rem}.goals-panel-field__slider{accent-color:#c4531e;width:100%;margin-top:.75rem}.goals-panel-field--carbon .goals-panel-field__slider{accent-color:#24463a}.goals-panel-field__range-labels{color:var(--ink-secondary);justify-content:space-between;gap:.5rem;margin-top:.35rem;font-size:.8125rem;display:flex}.goals-panel-field__range-labels span:nth-child(2){text-align:center}.goals-panel-field__error{color:var(--danger,#b42318);margin:.35rem 0 0;font-size:.875rem}.goals-panel-tip{flex-shrink:0;display:inline-flex;position:relative}.goals-panel-tip__icon{color:#a8441a;cursor:default;background:#fff;border:1px solid #d8cfbf;border-radius:50%;justify-content:center;align-items:center;width:1.125rem;height:1.125rem;display:inline-flex}.goals-panel-tip:hover .goals-panel-tip__icon,.goals-panel-tip:focus-within .goals-panel-tip__icon{background:#fbf4ec;border-color:#a8441a}.goals-panel-tip__icon:focus-visible{outline-offset:2px;outline:2px solid #24463a}.goals-panel-tip__line{z-index:3;width:min(18rem,100vw - 2rem);color:var(--ink-secondary);white-space:normal;pointer-events:none;visibility:hidden;opacity:0;background:#fff;border:1px solid #e5ddd0;border-radius:.5rem;margin:0;padding:.5rem .65rem;font-size:.8125rem;font-weight:400;line-height:1.45;transition:opacity .12s,visibility .12s;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 4px 12px #24463a14}.goals-panel-tip:hover .goals-panel-tip__line,.goals-panel-tip:focus-within .goals-panel-tip__line{visibility:visible;opacity:1}.goals-form-shell{flex-direction:column;gap:1.25rem;width:100%;max-width:1240px;margin-inline:auto;display:flex}.goals-form-card{background:#fff;border-radius:1.375rem;flex-direction:column;display:flex;overflow:hidden}.goals-form-card__band{background:#17302a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding:1.75rem 2rem;display:flex}.goals-form-card__band-left{align-items:center;gap:1rem;min-width:min(100%,16rem);display:flex}.goals-form-card__badge{background:#23463a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:4rem;height:4rem;display:flex}.goals-form-card__title{font-family:var(--font-display);color:#f4efe6;margin:0 0 .35rem;font-size:1.625rem;font-weight:500;line-height:1.2}.goals-form-card__helper{color:#c9d6cf;max-width:26rem;margin:0;font-size:.9375rem;line-height:1.45}.goals-form-card__season{color:#e3ebe5;background:#23463a;border-radius:999px;align-items:center;gap:.5rem;margin:0;padding:.5rem .875rem;font-size:.875rem;line-height:1.35;display:inline-flex}.goals-form-card__season-icon{color:#e8a33d;flex-shrink:0}.goals-form-card__body{padding:2rem}.goals-form-card__footer{background:#fbf8f3;border-top:1px solid #efe6d8;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;display:flex}.goals-form-card__cancel.ui-btn,.goals-form-card__save.ui-btn{width:auto;min-height:3.25rem}.goals-form-card__cancel.ui-btn{background:#fff;border-width:1.5px;min-width:8.75rem}.goals-form-card__save.ui-btn{background:#c4531e;border-color:#c4531e;min-width:12.5rem}.goals-form-card__save.ui-btn:hover:not(:disabled){background:#a8441a;border-color:#a8441a}.goals-form-card__save.ui-btn:disabled{color:#5f5b54;cursor:not-allowed;background:#d8cfbf;border-color:#d8cfbf}.goals-form-utility{border-top:1px solid #d3caba;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem;display:flex}.goals-form-utility__note{max-width:36rem;color:var(--ink-secondary);align-items:flex-start;gap:.5rem;margin:0;font-size:.875rem;line-height:1.45;display:flex}.goals-form-utility__info{color:#24463a;flex-shrink:0;margin-top:.1rem}.goals-form-utility__clear.ui-btn{color:#a3301f;background:0 0;border:1.5px solid #e2b3a8;width:auto;min-height:2.75rem;padding:.5rem 1rem;font-size:.9375rem;font-weight:600}.goals-form-utility__clear.ui-btn:hover:not(:disabled){background:#fbeae6}.goals-form-board__note,.goals-form-board__baseline-days{color:var(--ink-secondary);margin:0 0 1rem;font-size:.9375rem;line-height:1.45}.goals-panel-form--board{gap:0}.goals-panel-form__grid{flex-direction:column;gap:2rem;display:flex}.goals-panel-form__fields--columns,.goals-panel-form__explainers{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.goals-panel-field__label-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.goals-panel-field__label-head .goals-panel-field__label{margin:0}.goals-panel-field__current{border-radius:999px;flex-shrink:0;padding:.25rem .625rem;font-size:.8125rem;font-weight:600}.goals-panel-field__current--savings{color:#a8441a;background:#fbede3}.goals-panel-field__current--carbon{color:#1f3b31;background:#dde6df}.goals-panel-field__input--panel{font-size:1.625rem}.goals-panel-details{border-top:1px solid #efe6d8;border-bottom:1px solid #efe6d8}.goals-panel-details__summary{color:#a8441a;cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.25rem;padding:.75rem 0;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.goals-panel-details__summary::-webkit-details-marker{display:none}.goals-panel-details__chevron{flex-shrink:0;transition:transform .15s}.goals-panel-details[open] .goals-panel-details__chevron{transform:rotate(180deg)}.goals-panel-details__body{color:var(--ink-secondary);padding:0 0 1rem;font-size:.875rem;line-height:1.5}.goals-panel-details__body .goals-examples__panel{background:0 0;border:none;padding:0}@media (width<=900px){.goals.goals--setup-board{padding:1.5rem 1.25rem 2rem}.goals-setup-board,.goals-panel-form__fields--columns,.goals-panel-form__explainers{grid-template-columns:1fr}.goals-form-card__body{padding:1.5rem}.goals-form-card__footer{padding:1rem 1.5rem}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes chat-panel-enter{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes chat-backdrop-enter{0%{opacity:0}to{opacity:1}}.chat-dock{right:max(1rem, env(safe-area-inset-right,0px));bottom:max(1rem, env(safe-area-inset-bottom,0px));z-index:40;pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:.65rem;max-width:min(360px,100vw - 7.5rem);display:flex;position:fixed}.chat-dock__backdrop{cursor:pointer;pointer-events:auto;background:#0e211a52;border:none;margin:0;padding:0;animation:.2s ease-out chat-backdrop-enter;position:fixed;inset:0}.chat-dock__stack{pointer-events:auto;z-index:1;flex-direction:column;align-items:stretch;gap:.65rem;width:100%;min-height:0;max-height:min(82dvh,560px);display:flex;position:relative}.chat-dock__surface{flex:auto;min-height:0;animation:.2s ease-out chat-panel-enter}.chat-panel,.chat-compare{border:1px solid var(--border-strong);background:var(--dock-panel);border-radius:14px;flex-direction:column;width:min(360px,100vw - 7.5rem);max-height:min(85dvh,520px);display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #14312a1f,0 4px 12px #14231d14}.chat-panel--tray{--chat-panel-pad:1rem}.chat-panel__main{border-top:1px solid var(--border);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.chat-panel__body{padding:.65rem var(--chat-panel-pad,1rem) var(--chat-panel-pad,1rem);flex:auto;overflow:auto}.chat-panel__status{padding:.45rem var(--chat-panel-pad,1rem) 0;color:var(--ink-secondary);min-height:1.25rem;margin:0;font-size:.8125rem;line-height:1.45}.chat-panel__title-wrap{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;min-width:0;display:flex}.chat-panel__badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-tint);border:1px dashed #c4551f73;border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:.65rem;font-weight:700;display:inline-flex}.chat-actions__tabs{padding:0 var(--chat-panel-pad,1rem) .65rem;flex-wrap:wrap;gap:.35rem;display:flex}.chat-dock .chat-actions__tab{border:1px solid var(--border);color:var(--green-deep);font:inherit;cursor:pointer;background:0 0;border-radius:999px;min-height:36px;padding:.4rem .75rem;font-size:.78rem;font-weight:600}.chat-dock .chat-actions__tab:hover:not(.is-active){background:var(--cream-card);border-color:var(--border-strong)}.chat-dock .chat-actions__tab.is-active{color:var(--on-deep);border-color:var(--green-deep);background:var(--green-deep)}.chat-actions__tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chat-profile-chat{flex-direction:column;gap:.5rem;min-height:200px;display:flex}.chat-profile-chat__log{flex-direction:column;flex:1;gap:.45rem;min-height:100px;max-height:min(36dvh,220px);padding:.15rem 0;display:flex;overflow:auto}.chat-profile-chat__empty{margin:0}.chat-profile-chat__form{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.35rem;display:flex}.chat-profile-chat__form .chat-panel__input{flex:auto;min-width:0}.chat-actions__block{margin-bottom:1rem}.chat-actions__block:last-child{margin-bottom:0}.chat-actions__problem{color:var(--danger);margin:.5rem 0 0;font-size:.8125rem;line-height:1.4}.chat-actions__label{color:var(--ink);margin:0 0 .45rem;font-size:.8125rem;font-weight:600}.chat-actions__label--row{margin:0}.chat-field__label-row{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.45rem;display:flex}.chat-field__now{color:var(--ink-secondary);flex-shrink:0;font-size:.72rem;font-weight:500}.chat-panel__input--block{width:100%;display:block}.chat-panel__action.ui-btn{width:100%;margin-top:.55rem}.chat-actions__row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.chat-actions__row .chat-panel__input{flex:6rem;min-height:44px}.chat-panel--actions .ui-btn--primary{background:var(--green-deep);color:var(--on-deep)}.chat-panel--actions .ui-btn--primary:hover:not(:disabled){background:var(--green-deeper)}.chat-whatif__select{border:1px solid var(--border-strong);min-height:44px;font:inherit;color:var(--ink);background:#fff;border-radius:999px;flex:8rem;padding:.55rem .85rem;font-size:.88rem}.chat-whatif__select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chat-whatif-household{flex-direction:column;flex:auto;min-height:0;display:flex}.chat-whatif-household__body{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:auto;min-height:0;overflow:auto}.chat-whatif-household__body::-webkit-scrollbar{width:6px}.chat-whatif-household__body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.chat-whatif-household__body:after{content:"";pointer-events:none;background:linear-gradient(to bottom, transparent, var(--dock-panel));height:1.25rem;margin-top:-1.25rem;display:block;position:sticky;bottom:0;left:0}.chat-whatif-household__row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.65rem;min-height:3.5rem;padding:.4rem 0;display:flex}.chat-whatif-household__row:last-child{border-bottom:none}.chat-whatif-household__label-block{flex:auto;min-width:0}.chat-whatif-household__label{color:var(--ink);margin:0;font-size:.8125rem;font-weight:600;line-height:1.25}.chat-whatif-household__current{color:var(--ink-secondary);margin:.12rem 0 0;font-size:.72rem;line-height:1.3}.chat-whatif-household__stepper{flex-shrink:0;width:auto;max-width:none}.chat-whatif-household__stepper svg{display:none}.chat-whatif-household__stepper .ui-stepper__value{text-align:center;min-width:1.35rem}.chat-compare{--chat-panel-pad:1rem;max-height:min(85dvh,560px);overflow:auto}.chat-compare__grid{grid-template-columns:1fr 1fr;gap:.65rem;padding:0 1rem .5rem;display:grid}.chat-compare__col{background:var(--cream-card);border:1px solid var(--border);border-radius:10px;padding:.65rem}.chat-compare__heading{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 .45rem;font-size:.75rem;font-weight:700}.chat-compare__metric{color:var(--ink);flex-direction:column;gap:.1rem;margin:0 0 .5rem;font-size:.9rem;font-weight:600;display:flex}.chat-compare__metric-label{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-secondary);font-size:.72rem;font-weight:600}.chat-compare__metric-value{flex-wrap:wrap;align-items:baseline;gap:.35rem;font-weight:600;display:flex}.chat-compare__delta{font-size:.78rem;font-weight:700}.chat-compare__delta--up{color:var(--success)}.chat-compare__delta--down{color:var(--accent-deep)}.chat-compare__delta--neutral{color:var(--ink-secondary)}.chat-compare__detail,.chat-compare__note{margin:0;font-size:.8125rem;line-height:1.45}.chat-compare__body{white-space:pre-wrap;color:var(--ink);margin:0;font-family:inherit;font-size:.78rem;line-height:1.45}.chat-compare__actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.chat-compare__actions .ui-btn{flex:none;width:auto}.chat-panel__live{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-panel__head{padding:var(--chat-panel-pad,1rem) var(--chat-panel-pad,1rem) .35rem;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.chat-panel__title{color:var(--ink);margin:0;font-size:1rem;font-weight:600}.chat-panel__close{color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.75rem;min-height:1.75rem;margin:-.15rem -.25rem 0 0;padding:0;font-size:1.1rem;line-height:1;display:flex}.chat-panel__close:hover{color:var(--ink-secondary);background:#14312a14}.chat-panel__close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chat-panel__notice{padding:.15rem var(--chat-panel-pad,1rem) .55rem;color:var(--ink-secondary);margin:0;font-size:.8125rem;line-height:1.45}.chat-panel__log{flex-direction:column;flex:1;gap:.55rem;min-height:120px;padding:.35rem 1rem;display:flex;overflow:auto}.chat-panel__hint{color:var(--ink-secondary);margin:0;font-size:.875rem;line-height:1.45}.chat-bubble{border-radius:10px;margin:0;padding:.55rem .7rem;font-size:.88rem;line-height:1.5}.chat-bubble__label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-secondary);margin-bottom:.2rem;font-size:.75rem;display:block}.chat-bubble--user{background:var(--cream-card);border:1px solid var(--border);align-self:flex-end;max-width:92%}.chat-bubble--assistant{max-width:100%;color:var(--ink);background:#132e2614;border:1px solid #132e262e;align-self:flex-start}.chat-panel__form{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.chat-dock .chat-panel__input{border:1px solid var(--border-strong);width:100%;min-width:0;min-height:44px;font:inherit;color:var(--ink);background:#fff;border-radius:999px;flex:auto;padding:.55rem .85rem;font-size:.88rem}.chat-panel__input::placeholder{color:var(--ink-secondary);opacity:.85}.chat-panel__input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chat-panel__send.ui-btn{white-space:nowrap;flex:none;width:auto;min-width:24px;min-height:44px;padding:.55rem 1.1rem}.chat-panel__send.ui-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chat-panel__confirm{border-top:1px solid var(--danger);background:#b3392f14;padding:.65rem 1rem}.chat-panel__confirm-text{color:var(--ink);margin:0 0 .35rem;font-size:.9375rem;font-weight:600;line-height:1.45}.chat-panel__confirm-detail{color:var(--ink-secondary);margin:0 0 .55rem;font-size:.875rem;line-height:1.45}.chat-panel__confirm-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.chat-panel__confirm-dismiss{color:var(--ink-secondary);font:inherit;cursor:pointer;background:0 0;border:none;min-width:24px;min-height:44px;padding:.35rem .65rem;font-size:.875rem;text-decoration:underline}.chat-panel__confirm-dismiss:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.assistant{pointer-events:auto;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.6rem;display:flex}.assistant__speech{background:var(--surface);border:1px solid var(--border);border-radius:1rem 1rem .35rem;max-width:min(18rem,100vw - 2.5rem);padding:.65rem .9rem;box-shadow:0 8px 24px #17302a2e}.assistant__speech-line{font-family:var(--font-display);color:var(--ink);margin:0;font-size:.92rem;line-height:1.4}.assistant__bot{cursor:pointer;filter:drop-shadow(0 10px 18px #0e241e47);background:0 0;border:none;border-radius:20px;place-items:center;width:68px;height:68px;padding:0;transition:transform .18s;display:grid}.assistant__bot:hover,.assistant__bot.is-open{transform:translateY(-2px)}.assistant__bot:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.assistant__menu{flex-direction:column;align-items:flex-end;gap:.5rem;animation:.2s ease-out chat-panel-enter;display:flex}.assistant__item{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:.7rem;padding:.35rem 1.1rem .35rem .35rem;font-size:.95rem;font-weight:600;display:inline-flex;box-shadow:0 8px 22px #14231d24}.assistant__item:hover:not([aria-disabled=true]){border-color:var(--euc-800)}.assistant__item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.assistant__item[aria-disabled=true]{color:var(--ink-secondary);cursor:not-allowed}.assistant__item-icon{width:36px;height:36px;color:var(--on-deep);border-radius:50%;place-items:center;display:grid}.assistant__item-icon svg{width:18px;height:18px}.assistant__item--deep .assistant__item-icon{background:var(--surface-deep)}.assistant__item--accent .assistant__item-icon{background:var(--accent);color:var(--green-deeper)}.assistant__dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.assistant__hint{background:var(--surface);max-width:15rem;color:var(--ink-secondary);text-align:right;border-radius:10px;margin:0;padding:.45rem .75rem;font-size:.8rem;box-shadow:0 6px 16px #14231d1f}@media (prefers-reduced-motion:reduce){.chat-dock__surface,.chat-dock__backdrop,.assistant__menu{animation:none}.assistant__bot{transition:none}.assistant__bot:hover,.assistant__bot.is-open{transform:none}}@media (width<=720px){.chat-dock{align-items:stretch;gap:.5rem;max-width:none;padding:0;bottom:0;left:0;right:0}.chat-dock__stack{max-height:min(78dvh,520px)}.assistant{margin:0 max(1rem, env(safe-area-inset-right,0px)) max(1rem, env(safe-area-inset-bottom,0px)) 0;align-self:flex-end}.chat-panel,.chat-compare{border-bottom:none;border-radius:16px 16px 0 0;width:100%;max-height:min(78dvh,520px)}}@media (width<=26rem){.chat-panel__form{flex-direction:column;align-items:stretch}.chat-panel__send.ui-btn{width:100%}}.whatif{width:min(77.5rem,100%);color:var(--ink);flex-direction:column;gap:1.25rem;margin:0 auto;padding:2.25rem 1.5rem 4.5rem;display:flex}.whatif__top{align-items:center;display:flex}.whatif__intro h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .2rem;font-size:clamp(2rem,4vw,2.125rem);font-weight:600;line-height:1.15}.whatif__layout{grid-template-columns:1fr;align-items:start;gap:1.25rem;display:grid}.whatif-main{gap:1.25rem;min-width:0;display:grid}.whatif-card{border:1px solid var(--border);background:#fffdf8;border-radius:20px}.whatif-controls{padding:.35rem 1.25rem 1.25rem}.whatif-group{padding-top:1.1rem}.whatif-group+.whatif-group{border-top:1px solid var(--border);margin-top:1.1rem}.whatif-group h2{font-family:var(--font-display);margin:0 0 .35rem;font-size:.95rem;font-weight:600}.whatif-row{justify-content:space-between;align-items:center;gap:.65rem;margin:.75rem 0;display:flex}.whatif-row--block{display:block}.whatif-row--block .whatif-lab{margin-bottom:.5rem}.whatif-lab{flex-direction:column;gap:1px;min-width:0;display:flex}.whatif-lab span{font-size:.82rem;font-weight:500}.whatif-row.is-changed .whatif-lab>span:before{content:"";background:var(--accent);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.whatif-meta{min-height:1.05rem;color:var(--ink-muted);align-items:center;gap:.4rem;font-size:.72rem;display:flex}.whatif-dchip{font-variant-numeric:tabular-nums;border-radius:999px;padding:0 .45rem;font-size:.7rem;font-weight:600;line-height:1.05rem}.whatif-dchip.is-up{color:#2f7a55;background:#e1f0e8}.whatif-dchip.is-down{color:var(--terra-800);background:#f8e5da}.whatif-stepper{background:#f3efe4;border-radius:999px;flex:none;align-items:center;padding:3px;display:flex}.whatif-stepper button{width:30px;height:30px;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:50%;font-size:16px;box-shadow:0 1px 2px #00000014}.whatif-stepper button:hover:not(:disabled){background:var(--paper)}.whatif-stepper button:disabled{opacity:.4;cursor:default}.whatif-stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-weight:600}.whatif-seg{background:#f3efe4;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:3px;padding:3px;display:grid}.whatif-seg button{font:600 12px var(--font-body);color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 0}.whatif-seg button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0000001a}.whatif-controls select{width:100%;font:500 13px var(--font-body);border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:12px;padding:9px 12px}.whatif-controls input[type=range]{width:100%;accent-color:var(--accent)}.whatif-presets{flex-wrap:wrap;gap:6px;margin-top:.65rem;display:flex}.whatif-chip{border:1px solid var(--border);font:500 12px var(--font-body);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:6px 11px;transition:border-color .15s,color .15s}.whatif-chip:hover{border-color:var(--accent);color:var(--terra-800)}.whatif-note{color:var(--ink-secondary);margin:.4rem 0 .2rem;font-size:.82rem}.whatif :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.whatif-stage{color:var(--paper);background:radial-gradient(90% 70% at 100% 0,#f0a35e1f,#0000 55%),radial-gradient(70% 60% at 0 100%,#6fd3a814,#0000 60%),#133029;border-radius:24px;flex-direction:column;gap:8px;padding:2rem 2rem 1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px -24px #0e241e8c}.whatif-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;min-width:0;display:flex}.whatif-headline{flex:16rem;min-width:0;max-width:28.75rem}.whatif-headline__eyebrow{color:#a9bdb4;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.whatif-headline__amount{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#e8e2d6;margin:.35rem 0 .65rem;font-size:clamp(2.75rem,8vw,4.5rem);font-weight:600;line-height:1}.whatif-headline__suffix{font-family:var(--font-body);color:#a9bdb4;letter-spacing:0;margin-left:.35rem;font-size:1.1rem;font-weight:500}.whatif-headline__lede{color:#d4ddd8;max-width:28rem;margin:0;font-size:.9375rem;line-height:1.45}.whatif-setup{text-align:right;flex-direction:column;flex:14rem;align-items:flex-end;gap:.875rem;min-width:0;max-width:20rem;display:flex}.whatif-setup .whatif-verdict{max-width:none;min-height:0;font-family:var(--font-body);color:#d4ddd8;margin:0;font-size:.9375rem;font-weight:400;line-height:1.45}.whatif-setup .whatif-actions{justify-content:flex-end;margin:0}.whatif-setup .whatif-delta{justify-content:flex-end}.whatif-setup .whatif-status{text-align:right;margin:0}@media (width<=639px){.whatif-setup{text-align:left;align-items:flex-start;max-width:none}.whatif-setup .whatif-actions,.whatif-setup .whatif-delta{justify-content:flex-start}.whatif-setup .whatif-status{text-align:left}}.whatif-flow-story-pill{border-radius:999px;align-self:flex-start;margin:0 0 .75rem;padding:.4rem .8rem;font-size:.78rem;font-weight:600;display:inline-block}.whatif-flow-story-pill--surplus{color:#c9e8d8;background:#08181473;border:1px solid #8fe0bc47}.whatif-flow-story-pill--deficit{color:#f2d4b3;background:#08181473;border:1px solid #f2b88059}.whatif-big{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:.35rem 0 .85rem;font-size:clamp(3rem,7vw,4.75rem);font-weight:600;line-height:1}.whatif-big small{font-family:var(--font-body);color:var(--paper-soft);letter-spacing:0;margin-left:.35rem;font-size:1.1rem;font-weight:500}.whatif-delta{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.whatif-pill{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.82rem;font-weight:600;transition:background .3s,color .3s;display:inline-flex}.whatif-pill.is-up{color:#a6e6c4;background:#7fd1a829}.whatif-pill.is-down{color:#f6bb92;background:#f0a36b29}.whatif-pill.is-idle,.whatif-pill.is-flat{color:var(--paper-soft);background:#f4f1e814}.whatif-was{color:var(--paper-soft);font-size:.82rem}.whatif-verdict{font-family:var(--font-display);max-width:34ch;min-height:2.9em;margin:1.1rem 0 0;font-size:1.05rem;font-weight:500;line-height:1.45;transition:opacity .25s}.whatif-verdict.is-writing{opacity:.35}.whatif-why{max-width:36ch;margin-top:.5rem}.whatif-why summary{cursor:pointer;color:var(--paper-soft);align-items:center;gap:.5rem;padding:.35rem 0;font-size:.82rem;list-style:none;display:inline-flex}.whatif-why summary::-webkit-details-marker{display:none}.whatif-why summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .2s;transform:rotate(45deg)translateY(-2px)}.whatif-why[open] summary:after{transform:rotate(-135deg)}.whatif-why summary:hover{color:var(--paper)}.whatif-why p{color:var(--paper);margin:.15rem 0 0;font-size:.82rem;line-height:1.55}.whatif-why__ai{letter-spacing:.06em;text-transform:uppercase;color:var(--paper-soft);margin-top:.5rem;font-size:.66rem;display:block}.whatif-actions{gap:.65rem;margin-top:1.1rem;display:flex}.whatif-btn{font:600 .9rem var(--font-body);cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.25rem;transition:transform .15s,opacity .2s,background .2s}.whatif-btn:active{transform:scale(.97)}.whatif-btn--primary{background:var(--accent);color:#fff;box-shadow:0 8px 20px -8px #de6a34cc}.whatif-btn--primary:disabled{opacity:.35;box-shadow:none;cursor:default}.whatif-btn--ghost{color:var(--paper);background:#f4f1e814}.whatif-btn--ghost[hidden]{display:none}.whatif-status{color:var(--paper);margin:.8rem 0 0;font-size:.82rem}.whatif-diagram-wrap{min-width:0;transition:opacity .2s}.whatif-diagram-wrap--fading{opacity:.35}.whatif-diagram{width:100%;height:auto;font-family:var(--font-body);display:block}.whatif-diagram .flow{fill:none;stroke-linecap:round;stroke-width:5px;stroke-dasharray:0 16;animation:1s linear infinite whatif-vpp-dash}.whatif-diagram .thin{fill:none;stroke-linecap:butt;stroke-width:1.5px;stroke-dasharray:4 5;stroke-opacity:.45;animation:1.8s linear infinite whatif-vpp-dash9}.whatif-diagram .mesh{fill:none;stroke-linecap:butt;stroke-width:1.5px;stroke-dasharray:4 5;stroke-opacity:.45;animation:3s linear infinite whatif-vpp-dash9}.whatif-diagram .rev{animation-direction:reverse}.whatif-diagram .track{fill:none;stroke-linecap:round;stroke-width:5px;stroke-opacity:.16}@keyframes whatif-vpp-dash{to{stroke-dashoffset:-16px}}@keyframes whatif-vpp-dash9{to{stroke-dashoffset:-9px}}.whatif-diagram .q1{animation:6s ease-in-out infinite whatif-vpp-q1}.whatif-diagram .q2{animation:6s ease-in-out infinite whatif-vpp-q2}.whatif-diagram .q3{animation:6s ease-in-out infinite whatif-vpp-q3}.whatif-diagram .q4{animation:6s ease-in-out infinite whatif-vpp-q4}@keyframes whatif-vpp-q1{0%{opacity:.15}8%,88%{opacity:1}to{opacity:.15}}@keyframes whatif-vpp-q2{0%,25%{opacity:.15}33%,88%{opacity:1}to{opacity:.15}}@keyframes whatif-vpp-q3{0%,50%{opacity:.15}58%,88%{opacity:1}to{opacity:.15}}@keyframes whatif-vpp-q4{0%,62%{opacity:.15}70%,88%{opacity:1}to{opacity:.15}}.whatif-diagram .panelglow{animation:6s ease-in-out infinite whatif-vpp-pg}@keyframes whatif-vpp-pg{0%{fill-opacity:.25}10%,88%{fill-opacity:.7}to{fill-opacity:.25}}@media (prefers-reduced-motion:reduce){.whatif-diagram .flow,.whatif-diagram .thin,.whatif-diagram .mesh{stroke-dasharray:none;animation:none}.whatif-diagram .q1,.whatif-diagram .q2,.whatif-diagram .q3,.whatif-diagram .q4,.whatif-diagram .panelglow{animation:none}}.whatif-day{padding:1.25rem 1.35rem .9rem}.whatif-day__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.35rem;display:flex}.whatif-day h2{font-family:var(--font-display);flex-wrap:wrap;align-items:baseline;gap:.75rem;margin:0;font-size:1.2rem;font-weight:600;display:flex}.whatif-day h2 small{font-family:var(--font-body);color:var(--ink-secondary);font-size:.78rem;font-weight:400}.whatif-legend{color:var(--ink-secondary);flex-wrap:wrap;gap:.85rem;font-size:.75rem;display:flex}.whatif-legend span{align-items:center;display:inline-flex}.whatif-swatch{border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.whatif-swatch--solar{background:var(--accent)}.whatif-swatch--load{background:var(--euc-600)}.whatif-swatch--band{opacity:.35;background:#2f7a55}.whatif-swatch--ghost{background:repeating-linear-gradient(45deg, var(--accent) 0 2px, transparent 2px 5px)}.whatif-chartwrap{position:relative;overflow-x:auto}.whatif-chart{width:100%;min-width:560px;height:auto;display:block}.whatif-chart__grid{stroke:#eee8da}.whatif-chart__axis{fill:var(--ink-muted);font:500 11px var(--font-body)}.whatif-chart__solar{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round}.whatif-chart__solar-ghost{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 5;opacity:.55}.whatif-chart__load{fill:none;stroke:var(--euc-600);stroke-width:2.5px;stroke-linecap:round}.whatif-chart__load-ghost{fill:none;stroke:var(--euc-600);stroke-width:1.5px;stroke-dasharray:4 5;opacity:.4}.whatif-chart__cursor{stroke:#1e242040;stroke-width:1px}.whatif-chart__band{fill:#2f7a55;opacity:.07}.whatif-chart__dot{fill:#fff;stroke-width:2.5px}.whatif-chart__dot--solar{stroke:var(--accent)}.whatif-chart__dot--load{stroke:var(--euc-600)}.whatif-tip{pointer-events:none;background:var(--green-deeper);color:var(--paper);border-radius:12px;min-width:170px;padding:10px 12px;font-size:12px;position:absolute;top:12px;box-shadow:0 12px 30px -10px #0006}.whatif-tip b{font-family:var(--font-display);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.whatif-tip div{font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;display:flex}.whatif-tip span{color:var(--paper-soft)}.whatif-foot{color:var(--ink-muted);margin:.4rem .1rem 0;font-size:.72rem}@media (width>=980px){.whatif__layout{grid-template-columns:280px minmax(0,1fr)}.whatif-controls{position:sticky;top:1.25rem}}:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--motion-fast:.18s;--motion:.28s}.view-enter{animation:view-in .42s var(--ease-out) both}@keyframes view-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.popover{animation:popover-in .18s var(--ease-out) both}@keyframes popover-in{0%{opacity:0;transform:translateY(-50%)scale(.96)}to{opacity:1;transform:translateY(-50%)scale(1)}}.popover--bottom,.popover--bottom-end{animation-name:popover-in-down}@keyframes onboarding-cta-nudge{0%,86%,to{transform:translate(0)scale(1)}88%{transform:translate(-5px)scale(1.02)rotate(-1deg)}90%{transform:translate(5px)scale(1.02)rotate(1deg)}92%{transform:translate(-4px)scale(1.01)rotate(-.6deg)}94%{transform:translate(4px)scale(1.01)rotate(.6deg)}96%{transform:translate(-2px)scale(1)}98%{transform:translate(0)scale(1)}}.onboarding-cta-nudge{animation:5s ease-in-out infinite onboarding-cta-nudge}@keyframes popover-in-down{0%{opacity:0;transform:translateY(-4px)scale(.96)}to{opacity:1;transform:none}}.ui-progress__fill{transition:width .45s var(--ease-out)}.ui-input:focus,.ui-select:focus,.ui-search__input:focus,.location-control__input:focus{border-color:var(--euc-400)}.ui-btn,.ui-choice,.ui-dir,.ui-radio-list__row,.ui-toggle__option,.ui-stepper__btn,.ui-input,.ui-select,.ui-search__input,.ui-callout,.app-rail__item,.feature-card,.article-card,.kpi-card,.dashboard-card,.profile-card,.vpp-plan-card,.vpp-plan-card__cta,.vpp-helps__quote,.vpp-flow-cards__item,.location-control,.location-control__locate,.brand--button{transition:background-color var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow .42s var(--ease-out), transform .42s var(--ease-out), opacity var(--motion-fast) ease}.feature-card,.article-card,.kpi-card,.profile-card,.vpp-plan-card,.vpp-helps__quote,.vpp-flow-cards__item,.ui-choice,.ui-dir,.ui-btn,.app-rail__item,.brand--button{transform:translate3d(var(--hover-x,0px), var(--hover-y,0px), 0) scale(var(--hover-scale,1));transform-origin:50%;position:relative}.is-hover-grow{z-index:3;--hover-scale:1.07}.app-rail__item.is-hover-grow{--hover-scale:1.12}.ui-btn.is-hover-grow,.brand--button.is-hover-grow{--hover-scale:1.06}.feature-card.is-hover-grow,.article-card.is-hover-grow,.kpi-card.is-hover-grow,.profile-card.is-hover-grow,.vpp-plan-card.is-hover-grow,.vpp-helps__quote.is-hover-grow,.vpp-flow-cards__item.is-hover-grow,.ui-choice.is-hover-grow{border-color:var(--border-strong);box-shadow:0 18px 40px #14231d1f}.vpp-helps__quote.is-hover-grow,.vpp-flow-cards__item.is-hover-grow{border-color:#f2ede361;box-shadow:0 18px 40px #08100e59}.ui-btn--primary.is-hover-grow{box-shadow:0 12px 24px #c86a3c4d}.ui-btn--color-hover.is-hover-grow{--hover-scale:1;box-shadow:none}.hero-house__face{transition:fill .25s,stroke .25s,stroke-width .25s}@media (hover:hover) and (pointer:fine){.feature-card:hover,.article-card:hover,.kpi-card:hover,.profile-card:hover,.vpp-plan-card:hover,.vpp-helps__quote:hover,.vpp-flow-cards__item:hover,.ui-choice:hover{z-index:3;border-color:var(--border-strong)}.vpp-helps__quote:hover,.vpp-flow-cards__item:hover{border-color:#f2ede361}.ui-btn--primary:hover:not(:disabled){box-shadow:0 12px 24px #c86a3c4d}.ui-btn--color-hover:hover:not(:disabled),.ui-btn--color-hover:active:not(:disabled){--hover-scale:1;box-shadow:none}.ui-btn--primary:active:not(:disabled),.ui-btn--secondary:active:not(:disabled),.ui-btn--outline-accent:active:not(:disabled),.ui-btn--edit:active:not(:disabled){--hover-scale:.98}.ui-btn--secondary:hover:not(:disabled),.ui-btn--outline-accent:hover:not(:disabled),.ui-btn--edit:hover:not(:disabled){background:var(--euc-50);border-color:var(--euc-400)}.ui-choice:hover,.ui-dir:hover{border-color:var(--euc-400);background:var(--euc-50)}.ui-radio-list__row:hover{background:var(--surface-sunken)}.ui-toggle__option:hover:not(.is-selected){color:var(--ink)}.app-rail__item:active:not(.is-unavailable){--hover-scale:.96}}.custom-cursor{z-index:2147483646;pointer-events:none;opacity:0;transition:opacity .18s;position:fixed;inset:0}.custom-cursor.is-visible{opacity:1}.custom-cursor__dot,.custom-cursor__ring{pointer-events:none;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.custom-cursor__dot{background:var(--terra-600);border:2px solid var(--canvas);width:8px;height:8px;box-shadow:0 0 0 1px var(--euc-800);transition:width .2s var(--ease-out), height .2s var(--ease-out), margin .2s var(--ease-out), background-color .2s ease, opacity .2s ease;margin:-4px 0 0 -4px}.custom-cursor__ring{border:1.5px solid var(--euc-400);width:36px;height:36px;transition:width .22s var(--ease-out), height .22s var(--ease-out), margin .22s var(--ease-out), background-color .22s ease, border-color .22s ease, opacity .2s ease;background:#c86a3c14;margin:-18px 0 0 -18px}.custom-cursor.is-hover .custom-cursor__dot{background:var(--terra-400);width:12px;height:12px;margin:-6px 0 0 -6px}.custom-cursor.is-hover .custom-cursor__ring{border-color:var(--terra-600);background:#c86a3c24;width:52px;height:52px;margin:-26px 0 0 -26px}.custom-cursor.is-down .custom-cursor__dot{width:6px;height:6px;margin:-3px 0 0 -3px}.custom-cursor.is-down .custom-cursor__ring{border-color:var(--euc-600);background:#1f4a3c29;width:28px;height:28px;margin:-14px 0 0 -14px}@media (hover:hover) and (pointer:fine){html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}html.has-custom-cursor :is(input,textarea):not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]){cursor:text!important}html.has-custom-cursor.custom-cursor-paused,html.has-custom-cursor.custom-cursor-paused *{cursor:auto!important}html.has-custom-cursor.custom-cursor-paused :is(a,button,[role=button],[role=radio],label,select){cursor:pointer!important}html.has-custom-cursor.custom-cursor-paused :is(input,textarea):not([type=button]):not([type=submit]){cursor:text!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view-enter,.popover,.popover--bottom,.popover--bottom-end{animation:none}.ui-btn,.ui-choice,.ui-dir,.ui-radio-list__row,.ui-toggle__option,.ui-stepper__btn,.ui-input,.ui-select,.ui-search__input,.ui-callout,.app-rail__item,.feature-card,.article-card,.kpi-card,.dashboard-card,.profile-card,.vpp-plan-card,.vpp-plan-card__cta,.vpp-helps__quote,.vpp-flow-cards__item,.location-control,.location-control__locate,.brand--button,.hero-house__face,.ui-progress__fill,.custom-cursor__dot,.custom-cursor__ring,.ui-toggle__highlight,.ui-toggle__highlight.is-ready,.app-rail__highlight,.app-rail__highlight.is-ready,.ui-radio-list__mark:after,.ui-dir__mark:before,.vpp-dialog,.vpp-dialog::backdrop{transition:none}.kpi-card__figure,.whatif-dash-card__plan,.whatif-ai__title,.whatif-ai__impact,.energy-balance__share,.energy-legend__value--accent,.energy-ticker__face,.energy-bar__slice,.energy-savings-tip,.donut__draw,.forecast__draw .forecast__area,.forecast__draw .forecast__line{opacity:1;transition:none;animation:none;transform:none}.forecast__draw .forecast__line{stroke-dashoffset:0}.onboarding-cta-nudge{animation:none}}.flow-controls{border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface-sunken);max-width:40rem;margin:2.5rem 1.25rem 2rem;padding:1.25rem 1.15rem}.flow-controls--embedded{margin-top:0}.flow-controls--dialog{background:0 0;border:0;max-width:none;margin:0;padding:0}.flow-controls-dialog{width:min(24rem,100vw - 1.5rem)}.flow-controls-dialog__body .flow-controls__lede{color:var(--ink-secondary);margin:0 0 1.1rem;font-size:.92rem;line-height:1.5}.flow-controls__actions--dialog{flex-direction:column;align-items:stretch;gap:.55rem;display:flex}.flow-controls__actions--dialog .ui-btn{width:100%}.flow-controls__actions--dialog .ui-btn--ghost{width:100%;padding:.85rem 1.25rem;text-decoration:none}.flow-controls--improve-hub,.rain-hub-page .flow-controls--improve-hub{color:var(--on-deep);background:#0d211abf;border-color:#a3bca938}.flow-controls--improve-hub .flow-controls__lede{color:var(--on-deep-muted)}.flow-controls--improve-hub .flow-controls__title{color:var(--on-deep)}.flow-controls--improve-hub .ui-btn--secondary{background:var(--paper);color:var(--ink)}.flow-controls__title{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.1rem}.flow-controls__lede{color:var(--ink-secondary);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.flow-controls__actions{flex-wrap:wrap;gap:.5rem;display:flex}.flow-controls .callout{margin-top:1rem}.flow-controls__confirm{flex-direction:column;gap:.65rem;display:flex}.flow-controls__confirm-title{font-family:var(--font-display);margin:0;font-size:1rem;font-weight:600;line-height:1.35}.flow-controls__confirm-body{color:var(--ink-secondary);margin:0;font-size:.88rem;line-height:1.45}.flow-controls__confirm-actions{flex-wrap:wrap;gap:.5rem;margin-top:.15rem;display:flex}.flow-controls--dialog .flow-controls__confirm-actions{flex-direction:column;align-items:stretch}.flow-controls--dialog .flow-controls__confirm-actions .ui-btn{width:100%}.ic-page,.ic-intro{--ic-glow:#f08a4b;--ic-sun:#f6c27a;--ic-line:var(--paper)}.ic-page{background:var(--cream-page);min-height:100vh;color:var(--ink);font-family:var(--font-body);position:relative;overflow:hidden}.ic-split{flex-wrap:wrap;display:flex}.ic-half{text-align:left;min-height:100vh;font:inherit;cursor:pointer;border:none;flex-direction:column;flex:420px;justify-content:center;gap:18px;padding:340px clamp(24px,6vw,96px) 90px;transition:filter .35s;display:flex;position:relative}.ic-half:before{content:"";opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.ic-half>*{z-index:1;position:relative}.ic-half--new{background:var(--cream-card);color:var(--ink)}.ic-half--new:before{background:radial-gradient(at 40% 62%,#de6a342e,#0000 60%),#fffdf7}.ic-half--imp{background:var(--green-deep);color:var(--on-deep)}.ic-half--imp:before{background:radial-gradient(ellipse at 40% 62%, #e4ae8c42, transparent 60%), var(--surface-raised-on-dark)}.ic-half:hover:before,.ic-half:focus-visible:before{opacity:1}.ic-split:hover .ic-half--new:not(:hover){filter:brightness(.93)saturate(.9)}.ic-split:hover .ic-half--imp:not(:hover){filter:brightness(.78)}.ic-half:focus-visible{outline:3px solid var(--accent);outline-offset:-6px}.ic-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);font-size:13px;font-weight:700}.ic-eyebrow--as-written{text-transform:none}.ic-half--imp .ic-eyebrow{color:var(--terra-200)}.ic-half__stack{flex-direction:column;gap:18px;transition:transform .45s cubic-bezier(.22,1,.36,1);display:flex}.ic-half__stack.is-raised{transform:translateY(-50px)}.ic-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(40px,4.2vw,60px);line-height:1.02}.ic-half__bolt{margin-top:36px}.ic-split--explore .ic-half--new:before,.ic-split--explore .ic-half--new:focus-visible:before,.ic-split--improve .ic-half--imp:before,.ic-split--improve .ic-half--imp:focus-visible:before{opacity:1}.ic-split--explore .ic-half--imp{filter:brightness(.78)}.ic-split--improve .ic-half--new{filter:brightness(.93)saturate(.9)}.ic-arrow,.ic-replay svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.ic-header{pointer-events:none;text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;top:190px;left:0;right:0}.ic-bolt-layer{z-index:40;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.ic-guide__tilt{transform-origin:26px 26px}.ic-guide{opacity:0;pointer-events:none;align-items:flex-start;gap:12px;display:flex;transform:translateY(14px)scale(.92)}.ic-bolt-layer .ic-guide{pointer-events:auto;opacity:1;transform:none}.ic-bolt-layer .ic-guide.is-in{opacity:0;animation:.65s cubic-bezier(.3,1.3,.5,1) 80ms forwards ic-guide-in;transform:translateY(14px)scale(.92)}.ic-guide.is-in{animation:.65s cubic-bezier(.3,1.3,.5,1) 80ms forwards ic-guide-in}.ic-half__bolt .ic-guide{opacity:1;transform:none}.ic-guide__bot{filter:drop-shadow(0 8px 18px #17322a38);flex-shrink:0}.ic-guide__say{border-radius:var(--radius-pill);background:var(--surface);max-width:min(420px,68vw);font-family:var(--font-display);color:var(--ink);text-align:left;cursor:default;margin:0;padding:12px 20px 14px;font-size:clamp(16px,1.5vw,20px);line-height:1.35;position:relative;overflow:visible;box-shadow:0 10px 30px #17322a1f}.ic-guide__say--anchored{border-radius:8px 26px 26px}.ic-guide__say--anchored:before{display:none}.ic-guide__say:not(.ic-guide__say--anchored):before{content:"";background:var(--surface);width:12px;height:12px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)rotate(45deg)}.ic-guide__inner{flex-direction:column;gap:10px;animation:.12s ic-guide-inner-out;display:flex}.ic-guide__line{margin:0;display:block}.ic-guide__line.is-swap-in{animation:.2s cubic-bezier(.22,1,.36,1) both ic-guide-line-in}.ic-guide__cta.is-swap-in-delayed{animation:.2s cubic-bezier(.22,1,.36,1) 80ms both ic-guide-line-in}.ic-guide__cta{margin-top:2px}.ic-guide__say[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ic-mark{flex-shrink:0;display:flex;overflow:hidden}.ic-logo-img{width:100%;height:100%;display:block}.ic-mark{border-radius:12px;width:48px;height:48px}.ic-mark.is-awaiting-intro{visibility:hidden}.ic-replay{z-index:2;border-radius:var(--radius-pill);min-height:38px;color:var(--ink-soft);font:600 13px var(--font-body);cursor:pointer;background:#ffffffd9;border:1px solid #17322a2e;align-items:center;gap:8px;padding:0 16px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.ic-replay:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.ic-intro{z-index:100;cursor:pointer;font-family:var(--font-body);position:fixed;inset:0;overflow:hidden}.ic-intro:focus{outline:none}.ic-intro:focus-visible .ic-hint,.ic-intro:focus-visible .bi-hint{outline:2px solid var(--ic-glow);outline-offset:4px}.ic-intro.is-skipping{animation:0s linear 1.05s forwards ic-hide}.ic-intro--brand{--bi-centre:max(26.389vw, 42.222vh);animation:0s linear 7.1s forwards ic-hide}.bi-bg{background:radial-gradient(ellipse at 50% 40%, var(--surface-raised-on-dark) 0, var(--green-deep) 48%, var(--green-deeper) 100%);animation:1.1s 5.9s forwards ic-fade-out;position:absolute;inset:0}.ic-intro.is-skipping .bi-bg{animation:.8s .15s forwards ic-fade-out}.bi-fx{animation:.6s 5.4s forwards ic-fade-out}.ic-intro.is-skipping .bi-fx{animation:.25s forwards ic-fade-out}.bi-orbits{width:100%;height:100%;position:absolute;inset:0}.bi-orbit{fill:none;stroke:var(--ic-line);stroke-width:1px;opacity:0;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.4s cubic-bezier(.4,0,.2,1) forwards ic-draw}.bi-pulse{fill:none;stroke:var(--ic-glow);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;opacity:0;animation:2.2s ease-out forwards bi-pulse}.bi-spin{transform-origin:720px 380px;animation:26s linear infinite bi-spin}.bi-home{opacity:0;animation:.6s forwards ic-fade-in}.bi-home__dot,.bi-home__halo{fill:var(--ic-glow)}.bi-home__halo{fill-opacity:.18}.bi-logo{left:50%;top:var(--bi-centre);opacity:0;border-radius:33px;width:132px;height:132px;margin:-66px 0 0 -66px;animation:.8s cubic-bezier(.3,1.3,.5,1) .3s forwards bi-logo-in,1.1s cubic-bezier(.65,0,.25,1) 5.9s forwards bi-collapse;display:flex;position:absolute;overflow:hidden;transform:scale(.55);box-shadow:0 24px 70px #de6a3473}.ic-intro.is-skipping .bi-logo{animation:.9s cubic-bezier(.65,0,.25,1) forwards bi-logo-skip}.bi-word{left:0;right:0;top:calc(var(--bi-centre) + 100px);text-align:center;font-family:var(--font-display);letter-spacing:-.025em;color:var(--on-deep);padding:0 16px;font-size:clamp(44px,5vw,68px);line-height:1.1;position:absolute}.bi-letter{opacity:0;animation:.55s cubic-bezier(.2,.7,.2,1) forwards bi-rise;display:inline-block}.bi-foot{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:0 24px;display:flex;position:absolute;bottom:96px;left:0;right:0}.bi-slogan{font-family:var(--font-display);color:var(--on-deep);opacity:0;font-size:clamp(20px,2vw,26px);animation:.9s 3.3s forwards bi-rise}.bi-hint{letter-spacing:.04em;color:var(--on-deep-muted);opacity:0;font-size:13px;font-weight:600;animation:.8s 1.2s forwards ic-fade-in}.ic-intro--story{animation:ic-hide 0s linear calc(23.1s * var(--story-k,1)) forwards}.ic-bg{background:radial-gradient(ellipse at 72% 45%, var(--surface-raised-on-dark) 0, var(--green-deep) 45%, var(--green-deeper) 100%);animation:ic-fade-out .8s ease calc(22.3s * var(--story-k,1)) forwards;position:absolute;inset:0}.ic-intro.is-skipping .ic-bg{animation:.8s .15s forwards ic-fade-out}.ic-scene,.ic-captions,.ic-chrome{animation:ic-fade-out .7s ease calc(21.8s * var(--story-k,1)) forwards}.ic-intro.is-skipping .ic-scene,.ic-intro.is-skipping .ic-captions,.ic-intro.is-skipping .ic-chrome{animation:.25s forwards ic-fade-out}.ic-scene{width:100%;height:100%;position:absolute;inset:0}.ic-draw{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;stroke-dasharray:1;stroke-dashoffset:1px;animation-name:ic-draw;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}.ic-line{stroke:var(--ic-line);stroke-width:1.4px}.ic-line--ground{stroke-width:1.2px;stroke-opacity:.5}.ic-line--sun{stroke:var(--ic-sun);stroke-width:1.8px}.ic-line--panel{stroke:var(--ic-glow);stroke-width:1.8px}.ic-line--grid{stroke:var(--ic-glow);stroke-width:1.1px;stroke-opacity:.85}.ic-panel-fill{fill:var(--ic-glow)}.ic-panel-fill.ic-fade{animation-name:ic-fade-in-panel}.ic-line--beam{stroke:var(--ic-sun);stroke-width:1.2px}.ic-glow-stop{stop-color:var(--ic-glow)}.ic-sun-stop{stop-color:var(--ic-sun)}.ic-fade{opacity:0;animation:ic-fade-in calc(.8s * var(--story-k,1)) ease forwards}.ic-fill{fill:var(--ic-glow);transform-box:fill-box;transform-origin:bottom;animation:ic-fill-up calc(1.8s * var(--story-k,1)) cubic-bezier(.4, 0, .2, 1) forwards;transform:scaleY(0)}.ic-flow{fill:none;stroke:var(--ic-glow);stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:3 8;opacity:0;animation:ic-flow calc(2.2s * var(--story-k,1)) linear forwards}.ic-main{animation:ic-zoom-out calc(1.6s * var(--story-k,1)) cubic-bezier(.6, 0, .2, 1) calc(11.1s * var(--story-k,1)) forwards}.ic-sun-group{animation:ic-sun-away calc(1.6s * var(--story-k,1)) cubic-bezier(.6, 0, .2, 1) calc(11.1s * var(--story-k,1)) forwards}.ic-beam-group{animation:ic-fade-out calc(.6s * var(--story-k,1)) ease calc(11.1s * var(--story-k,1)) forwards}.ic-neighbour{opacity:0;animation:ic-fade-in calc(.5s * var(--story-k,1)) ease forwards}.ic-link{stroke:var(--ic-line);stroke-opacity:.35;stroke-width:1.2px}.ic-pulse{fill:none;stroke:var(--ic-glow);stroke-width:3px;stroke-linecap:round;stroke-dasharray:.05 1;stroke-dashoffset:.05px;opacity:0;animation:ic-travel calc(1.4s * var(--story-k,1)) cubic-bezier(.4, 0, .2, 1) forwards}.ic-hub{transform-box:fill-box;transform-origin:50%;opacity:0;animation:ic-hub-in calc(.8s * var(--story-k,1)) cubic-bezier(.3, 1.3, .5, 1) calc(12.3s * var(--story-k,1)) forwards;transform:scale(.6)}.ic-hub-core{fill:var(--green-deep);stroke:var(--ic-glow);stroke-width:1.8px}.ic-hub-bolt{fill:var(--ic-glow)}.ic-event{opacity:0;animation:ic-event-in calc(.7s * var(--story-k,1)) ease calc(17.5s * var(--story-k,1)) forwards}.ic-event-card{fill:var(--green-deep);stroke:var(--ic-line);stroke-opacity:.18}.ic-event-dot{fill:var(--ic-glow)}.ic-event-label,.ic-event-note{font-family:var(--font-body);fill:var(--ic-line);fill-opacity:.7;font-size:13px}.ic-event-value{font-family:var(--font-display);fill:var(--ic-line);font-size:24px}.ic-caption{opacity:0;width:min(480px,80vw);animation:ic-caption calc(5.3s * var(--story-k,1)) ease both;flex-direction:column;gap:18px;display:flex;position:absolute;top:50%;left:clamp(24px,7vw,112px);transform:translateY(-40%)}.ic-caption__tag{letter-spacing:.2em;text-transform:uppercase;color:var(--ic-glow);align-items:center;gap:12px;font-size:12.5px;font-weight:700;display:flex}.ic-caption__number{font-variant-numeric:tabular-nums}.ic-caption__title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--on-deep);margin:0;font-size:clamp(32px,4vw,58px);font-weight:400;line-height:1.04}.ic-caption__body{max-width:380px;color:var(--on-deep-muted);margin:0;font-size:16px;line-height:1.55}.ic-progress{gap:8px;width:min(320px,60vw);display:flex;position:absolute;bottom:68px;left:clamp(24px,7vw,112px)}.ic-progress__track{background:#f4f1e82e;flex:1;height:2px;overflow:hidden}.ic-progress__fill{background:var(--ic-glow);transform-origin:0;height:100%;animation:ic-seg-fill calc(5.3s * var(--story-k,1)) linear forwards;display:block;transform:scaleX(0)}.ic-place{letter-spacing:.04em;color:var(--ic-line);opacity:.75;font-size:13px;font-weight:600;position:absolute;top:32px;left:clamp(24px,7vw,112px)}.ic-hint-wrap{pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:44px;left:0;right:0}.ic-hint{border-radius:var(--radius-pill);color:var(--on-deep);letter-spacing:.01em;opacity:0;background:#f08a4b29;border:1.5px solid #f08a4bbf;align-items:center;gap:12px;padding:14px 26px;font-size:16px;font-weight:700;animation:.8s 1s forwards ic-fade-in,2.4s ease-in-out 1.8s infinite ic-breathe;display:inline-flex}.ic-hint svg{fill:none;stroke:var(--ic-glow);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}@keyframes ic-hide{to{visibility:hidden}}@keyframes ic-fade-out{to{opacity:0}}@keyframes ic-fade-in{to{opacity:1}}@keyframes ic-fade-in-panel{to{opacity:.22}}@keyframes ic-sun-away{to{opacity:.35;transform:translate(1530px,140px)scale(.7)translate(-1390px,-300px)}}@keyframes ic-draw{0%{opacity:1}to{opacity:1;stroke-dashoffset:0}}@keyframes ic-fill-up{to{transform:scaleY(1)}}@keyframes ic-flow{0%{opacity:0;stroke-dashoffset:0}15%,80%{opacity:1}to{opacity:0;stroke-dashoffset:-55px}}@keyframes ic-zoom-out{to{transform:translate(402px,224px)scale(.65)}}@keyframes ic-travel{0%{opacity:1;stroke-dashoffset:.05px}90%{opacity:1}to{opacity:0;stroke-dashoffset:-1px}}@keyframes ic-hub-in{to{opacity:1;transform:none}}@keyframes ic-event-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ic-caption{0%{opacity:0;transform:translateY(calc(14px - 40%))}8%,92%{opacity:1;transform:translateY(-40%)}to{opacity:0;transform:translateY(calc(-40% - 10px))}}@keyframes ic-seg-fill{to{transform:scaleX(1)}}@keyframes bi-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(4)}}@keyframes bi-logo-in{to{opacity:1;transform:none}}@keyframes bi-collapse{0%{opacity:1;transform:none}to{opacity:1;transform:translateY(calc(214px - var(--bi-centre))) scale(.3636);box-shadow:0 0 #0000}}@keyframes bi-logo-skip{0%{opacity:0;transform:scale(.8)}25%{opacity:1;transform:none}to{opacity:1;transform:translateY(calc(214px - var(--bi-centre))) scale(.3636);box-shadow:0 0 #0000}}@keyframes bi-spin{to{transform:rotate(360deg)}}@keyframes bi-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes ic-guide-in{0%{opacity:0;transform:translateY(16px)scale(.92)}to{opacity:1;transform:none}}@keyframes ic-guide-inner-out{0%{opacity:1}to{opacity:.35}}@keyframes ic-guide-line-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes ic-breathe{0%,to{box-shadow:0 0 #f08a4b59}50%{box-shadow:0 0 0 10px #f08a4b00}}@media (width<=859px){.ic-half{min-height:auto}.ic-half--new{padding-top:280px}.ic-half--imp{padding-top:72px;padding-bottom:120px}.ic-half__stack.is-raised{transform:none}}@media (prefers-reduced-motion:reduce){.ic-intro{display:none}.ic-half,.ic-half:before,.ic-half__stack,.ic-bolt-layer,.ic-guide.is-in,.ic-guide__say,.ic-guide__cta{transition:none;animation:none}.ic-guide.is-in,.ic-half__bolt .ic-guide{opacity:1;transform:none}.ic-page--reduced-motion .ic-bolt-layer{transition:opacity .15s}}.recommendations{flex-direction:column;gap:1.25rem;width:min(72rem,100%);margin:0 auto;padding:1.25rem 1.15rem 3rem;display:flex}@media (width>=900px){.recommendations{padding:1.6rem 2.4rem 3.5rem}}.recommendations__top{justify-content:flex-end;display:flex}.recommendations__intro{margin:0}.recommendations__intro h1{max-width:28rem}.recommendations__lede{max-width:40rem;color:var(--ink-secondary);line-height:1.55}.recommendations__enroll{--energy-balance-bg:#1c2f29;background:var(--energy-balance-bg);color:var(--on-deep);border:1px solid #ffffff0f;border-radius:28px;margin-top:.5rem;padding:1.5rem 1.35rem 1.65rem;scroll-margin-top:1.25rem;box-shadow:0 12px 36px #1c2f2938}.recommendations__enroll .eyebrow{color:#c9d4cc}.recommendations__enroll h2{color:var(--on-deep);margin:.35rem 0 .5rem;font-size:1.25rem}.recommendations__enroll-lede{color:var(--on-deep-muted);max-width:36rem;margin:0 0 1.25rem}.recommendations__enroll .ui-field__label{color:var(--on-deep)}.recommendations__enroll .ui-select{color:var(--on-deep);background-color:#ffffff1a;background-image:var(--select-chevron-on-dark,var(--select-chevron));border-color:#ffffff38}.recommendations__enroll .ui-select:focus{outline-color:#8fd6a88c}.recommendations__enroll-row{align-items:end;gap:1rem;display:grid}@media (width>=640px){.recommendations__enroll-row{grid-template-columns:1fr auto}}.plans-browser{align-items:start;gap:1.25rem;display:grid}@media (width>=900px){.plans-browser{grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:1.5rem}.plans-browser__footnote{grid-column:1/-1}}.plans-browser__list{flex-direction:column;gap:.65rem;display:flex}.plans-browser__list-heading{letter-spacing:.08em;color:var(--ink-muted);margin:0 0 .35rem;font-size:.68rem;font-weight:600}.plans-browser__list-card{appearance:none;text-align:left;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--cream-card);cursor:pointer;width:100%;transition:transform .18s var(--ease-out,cubic-bezier(.22, 1, .36, 1)), box-shadow .18s ease, border-color .18s ease;padding:.85rem .9rem .95rem;box-shadow:0 4px 14px #1e24200a}.plans-browser__list-card:hover{border-color:var(--terra-200);transform:scale(1.02);box-shadow:0 8px 22px #1e242014}.plans-browser__list-card.is-active{border-color:var(--euc-600);box-shadow:0 8px 24px #2a443a2e}.plans-browser__list-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.plans-browser__brand{color:var(--primary);margin:0;font-size:.62rem}.plans-browser__top-tag{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--green-deep);color:var(--on-deep);flex-shrink:0;padding:.2rem .45rem;font-size:.58rem;font-weight:700}.plans-browser__list-name{font-family:var(--font-display);color:var(--ink);margin:.35rem 0 .25rem;font-size:1.05rem;font-weight:500;line-height:1.25}.plans-browser__list-hint{color:var(--ink-secondary);margin:0;font-size:.78rem}.plans-browser__detail{--energy-balance-bg:#1c2f29;background:var(--energy-balance-bg);color:var(--on-deep);border:1px solid #ffffff0f;border-radius:28px;overflow:hidden;box-shadow:0 12px 36px #1c2f2938}.plans-browser__detail-hero{background:var(--green-deep);color:var(--on-deep);padding:1.15rem 1.25rem 1.25rem}.plans-browser__hero-tag{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);margin-bottom:.5rem;padding:.22rem .5rem;font-size:.62rem;font-weight:700;display:inline-block}.plans-browser__hero-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--terra-100);margin:0;font-size:.68rem;font-weight:600}.plans-browser__hero-title{font-family:var(--font-display);color:var(--on-deep);margin:.35rem 0 0;font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:500;line-height:1.2}.plans-browser__stats{border-bottom:1px solid #ffffff1a;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1.1rem 1.25rem;display:grid}.plans-browser__stat .eyebrow{color:var(--on-deep-muted);margin:0 0 .25rem;font-size:.62rem}.plans-browser__stat-value{font-family:var(--font-display);color:var(--on-deep);margin:0;font-size:1.15rem;font-weight:500}.plans-browser__why{background:#22382f;border:1px solid #ffffff14;border-radius:.65rem;margin:1rem 1.25rem;padding:1rem 1.05rem}.plans-browser__why-title{letter-spacing:.08em;text-transform:uppercase;color:#8fd6a8;margin:0 0 .65rem;font-size:.68rem;font-weight:700}.plans-browser__why-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.plans-browser__why-list li{color:var(--on-deep-muted);align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.45;display:flex}.plans-browser__why-list svg{color:#8fd6a8;flex-shrink:0;margin-top:.15rem}.plans-browser__actions{flex-wrap:wrap;gap:.65rem;padding:0 1.25rem 1.25rem;display:flex}.plans-browser__actions .ui-btn{flex:9rem;width:auto}.plans-browser__actions .ui-btn--primary{flex:100%}.plans-browser__footnote{color:var(--ink-muted);margin:0;font-size:.82rem;line-height:1.45}@media (prefers-reduced-motion:reduce){.plans-browser__list-card{transition:border-color .18s,box-shadow .18s}.plans-browser__list-card:hover{transform:none}}.tutorial{z-index:1000;position:fixed;inset:0}.tutorial--no-target{background:#0e241e9e}.tutorial__spotlight{border-radius:var(--radius-card);box-shadow:0 0 0 2px var(--paper), 0 0 0 9999px #0e241e9e;pointer-events:none;transition:top .22s,left .22s,width .22s,height .22s;position:absolute}.tutorial__dialog{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface);width:min(22rem,100vw - 2rem);color:var(--ink);padding:1.1rem 1.2rem 1rem;transition:top .22s,left .22s;position:absolute;box-shadow:0 18px 40px #0e241e47}.tutorial__dialog:focus{outline:none}.tutorial__dialog:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.tutorial--reduced .tutorial__spotlight,.tutorial--reduced .tutorial__dialog{transition:none}@media (prefers-reduced-motion:reduce){.tutorial__spotlight,.tutorial__dialog{transition:none}}.tutorial__header{align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.tutorial__avatar{flex-shrink:0}.tutorial__counter{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 .15rem;font-size:.72rem;font-weight:600}.tutorial__title{margin:0;font-size:1.15rem}.tutorial__body{border:0;margin:0 0 1rem;padding:0}.tutorial__quote{color:var(--ink-secondary);margin:0;font-size:.95rem;line-height:1.5}.tutorial__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tutorial__nav{gap:.5rem;margin-left:auto;display:flex}.tutorial__next.ui-btn--primary{background:var(--surface-deep);color:var(--on-deep)}.tutorial__next.ui-btn--primary:hover{background:var(--structure)}.energy-breakdown{--energy-generated:#5e9fd3;--energy-used:#aeb8ae;--energy-discharge:#8fd6a8;--ring-track:#22382f;--card-raised:#22382f;--card-border:#3a5a4d;--energy-child-gap:60px;--energy-columns:minmax(260px, 400px) 52px minmax(0, 1fr) var(--energy-child-gap) minmax(0, 1fr);--energy-row-gap:78px;--hero-bg:#17302a;--ease-draw:cubic-bezier(.65, 0, .35, 1);--ease-rise:cubic-bezier(.33, 1, .68, 1);margin-top:1rem}.energy-breakdown__grid{grid-template-columns:var(--energy-columns);row-gap:var(--energy-row-gap);display:grid}.energy-breakdown__ring-col{flex-direction:column;grid-column:1;place-self:start center;align-items:center;width:100%;max-width:340px;display:flex}.energy-breakdown__tree-col{grid-column:3/-1;align-self:end;width:100%;min-width:0;position:relative}.energy-breakdown.is-pause-continuous .energy-breakdown__continuous{animation-play-state:paused!important}.energy-ring{aspect-ratio:1;width:min(100%,340px);position:relative;container-type:inline-size}.energy-ring__svg{width:100%;height:auto;display:block;overflow:visible}.energy-ring__track{fill:none;stroke:var(--ring-track)}.energy-ring__outer-track{stroke-width:10px}.energy-ring__inner-track{stroke-width:40px}.energy-ring__outer-fill{fill:none;stroke:var(--energy-generated);stroke-width:10px;stroke-linecap:round;transition:opacity .2s}.energy-ring__used{fill:none;stroke:var(--energy-used);stroke-width:40px;stroke-linecap:butt;transition:opacity .2s ease, stroke-dasharray .6s var(--ease-draw)}.energy-ring__discharge-wrap{transition:opacity .2s}.energy-ring__discharge{fill:none;stroke:var(--energy-discharge);stroke-width:40px;stroke-linecap:butt;transition:stroke-dasharray .6s var(--ease-draw)}.energy-ring__discharge-glow{fill:none;stroke:var(--energy-discharge);stroke-width:52px;stroke-linecap:butt;opacity:0}.energy-ring.is-dim-used .energy-ring__used,.energy-ring.is-dim-discharge .energy-ring__discharge-wrap,.energy-ring.is-dim-generated .energy-ring__outer-fill{opacity:.28}.energy-ring__centre{text-align:center;pointer-events:none;width:62%;margin:0;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.energy-ring__pct{font-family:var(--font-display);letter-spacing:-.02em;color:var(--on-deep,#f2ede3);margin:0;font-size:clamp(38px,17cqi,58px);font-weight:500;line-height:1.05;transition:opacity .2s}.energy-ring__pct--hover{font-size:clamp(24px,10cqi,34px)}.energy-ring__sub{font-family:var(--font-body);color:#c9d3cc;white-space:pre-line;text-wrap:balance;margin:.45rem 0 0;font-size:clamp(10px,3.55cqi,12px);line-height:1.6;transition:opacity .2s}.energy-breakdown--entrance .energy-ring__centre{opacity:0}.energy-breakdown__hint{color:#9db3a8;text-align:center;margin:.65rem 0 0;font-size:13px}.energy-breakdown__value-fade{transition:opacity .2s}.energy-breakdown__value-fade.is-fading{opacity:0}.energy-breakdown--entrance .energy-ring__outer-fill{stroke-dasharray:100 100;stroke-dashoffset:100px;animation:energy-ring-outer-draw 1.6s var(--ease-draw) .15s both}.energy-breakdown--entrance .energy-ring__used{stroke-dashoffset:var(--used-len,0);animation:energy-ring-used-draw 1.1s var(--ease-draw) 1.65s both}.energy-breakdown--entrance .energy-ring__discharge{stroke-dashoffset:var(--discharge-len,0);animation:energy-ring-discharge-draw .6s var(--ease-draw) 1.05s both}.energy-breakdown--entrance .energy-ring__centre{animation:energy-centre-in .8s var(--ease-rise) 1.2s both}@keyframes energy-ring-outer-draw{to{stroke-dashoffset:0}}@keyframes energy-ring-used-draw{0%{stroke-dashoffset:var(--used-len,100)}to{stroke-dashoffset:0}}@keyframes energy-ring-discharge-draw{0%{stroke-dashoffset:var(--discharge-len,100)}to{stroke-dashoffset:0}}@keyframes energy-centre-in{0%{opacity:0}to{opacity:1}}.energy-breakdown--flow .energy-ring__discharge-wrap{animation:2.2s ease-in-out 2.7s infinite energy-discharge-strobe}.energy-breakdown--flow .energy-ring__discharge-glow{animation:2.2s ease-in-out 2.7s infinite energy-discharge-glow}.energy-ring.is-focus-generated .energy-ring__discharge-wrap,.energy-ring.is-focus-used .energy-ring__discharge-wrap{animation:none!important}.energy-ring.is-focus-generated .energy-ring__discharge-glow,.energy-ring.is-focus-used .energy-ring__discharge-glow{opacity:0!important;animation:none!important}.energy-ring__outer-fill{--shine:var(--energy-generated)}.energy-ring__used{--shine:var(--energy-used)}.energy-ring__discharge{--shine:var(--energy-discharge)}.energy-ring.is-focus-generated .energy-ring__outer-fill,.energy-ring.is-focus-used .energy-ring__used,.energy-ring.is-focus-discharge .energy-ring__discharge{filter:drop-shadow(0 0 8px var(--shine))}.energy-breakdown--flow:not(.energy-breakdown--entrance) .energy-ring.is-focus-generated .energy-ring__outer-fill,.energy-breakdown--flow:not(.energy-breakdown--entrance) .energy-ring.is-focus-used .energy-ring__used,.energy-breakdown--flow:not(.energy-breakdown--entrance) .energy-ring.is-focus-discharge .energy-ring__discharge{animation:2.2s ease-in-out infinite energy-arc-shine}@keyframes energy-arc-shine{0%,to{filter:drop-shadow(0 0 3px var(--shine))}50%{filter:drop-shadow(0 0 12px var(--shine))}}@keyframes energy-discharge-strobe{0%,to{opacity:.62}50%{opacity:1}}@keyframes energy-discharge-glow{0%,to{opacity:0}50%{opacity:.85}}.energy-tree{flex-direction:column;align-items:center;gap:0;width:100%;min-width:0;display:flex}.energy-tree__stage{width:100%;min-width:0;position:relative}.energy-tree__generated-wrap{width:calc((100% - var(--energy-child-gap,14px)) / 2);margin:26px auto 0}.energy-tree__children{gap:var(--energy-child-gap,14px);grid-template-columns:1fr 1fr;width:100%;display:grid}.energy-card{border:1px solid var(--card-border);background:var(--card-raised);width:100%;min-height:142px;font:inherit;color:inherit;text-align:center;cursor:pointer;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:26px 22px 18px;transition:background .2s,border-color .2s,opacity .2s;display:flex;position:relative}.energy-card:focus-visible{outline-offset:2px;outline:2px solid #5e7a6f}.energy-card.is-active{background:#214438;border-color:#5e7a6f}.energy-card.is-dim{opacity:.45}.energy-tree__children .energy-card{min-height:152px}.energy-card__badge{background:var(--energy-balance-bg,#1c2f29);border-radius:14px;place-items:center;width:64px;height:48px;display:grid;position:absolute;top:-26px;left:22px}.energy-card__badge--generated{color:var(--energy-generated);border:1px solid #5e9fd366}.energy-card__badge--used{color:var(--energy-used);border:1px solid #aeb8ae66}.energy-card__badge--discharge{color:var(--energy-discharge);border:1px solid #8fd6a866}.energy-card--vpp{background:#24402f;border:1.5px solid #8fd6a887}.energy-card--vpp .energy-card__value{color:var(--energy-discharge)}.energy-card__label-row{letter-spacing:.14em;text-transform:uppercase;color:#a9b8af;justify-content:center;align-items:center;gap:.45rem;font-size:12px;font-weight:700;display:inline-flex}.energy-card__swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px}.energy-card__swatch--generated{background:var(--energy-generated)}.energy-card__swatch--used{background:var(--energy-used)}.energy-card__swatch--discharge{background:var(--energy-discharge)}.energy-card__value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--paper,#f2ede3);margin-top:.35rem;font-weight:500;line-height:1.1;display:block}.energy-card__value--lg,.energy-card__value--sm{font-size:40px}.energy-card__hint{color:#c9d4cc;margin-top:.25rem;font-size:14px;display:block}.energy-tree__connector-slot{flex-shrink:0;width:100%;height:98px}.energy-tree__end{transition:opacity .2s}.energy-tree__end--used{fill:var(--energy-used)}.energy-tree__end--discharge{fill:var(--energy-discharge)}.energy-tree__end.is-dim{opacity:.35}.energy-tree__overlay-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.energy-tree__junction{fill:var(--energy-generated);stroke:var(--hero-bg);stroke-width:4px;transform-origin:50%;transform-box:fill-box}.energy-breakdown--flow .energy-tree__junction-pulse{animation:2.2s ease-in-out 2.7s infinite energy-junction-pulse}@keyframes energy-junction-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.energy-connector__base{fill:none;stroke-width:2px;opacity:.35;transition:opacity .2s}.energy-connector__base.is-dim{opacity:.12}.energy-connector__flow{fill:none;stroke-linecap:round;stroke-width:3px}.energy-connector__flow--used{stroke-width:3px;stroke-dasharray:2 10;filter:drop-shadow(0 0 4px var(--energy-used))}.energy-connector__flow--discharge{stroke-width:2.5px;stroke-dasharray:2 16;filter:drop-shadow(0 0 4px var(--energy-discharge))}.energy-connector__flow--stem{stroke:var(--energy-generated);stroke-dasharray:2 14;filter:drop-shadow(0 0 4px var(--energy-generated))}.energy-breakdown--flow .energy-connector__flow{animation:0s linear 2.2s infinite energy-flow-dash}.energy-breakdown--flow .energy-connector__flow--discharge{animation-name:energy-flow-dash,energy-discharge-strobe;animation-duration:var(--flow-dur-discharge,2s), 2.2s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-delay:2.2s,2.7s}@keyframes energy-flow-dash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-32px}}.energy-breakdown--entrance .energy-tree__stem-entrance{transform-origin:top;animation:energy-stem-grow .35s var(--ease-rise) 1.25s both;transform:scaleY(0)}.energy-breakdown--entrance .energy-tree__junction-entrance{transform-origin:50%;transform-box:fill-box;animation:energy-junction-pop .3s var(--ease-rise) 1.5s both;transform:scale(0)}.energy-breakdown--entrance .energy-tree__branch-h-entrance--left{transform-origin:100%;animation:energy-branch-h .4s var(--ease-rise) 1.55s both;transform:scaleX(0)}.energy-breakdown--entrance .energy-tree__branch-h-entrance--right{transform-origin:0;animation:energy-branch-h .4s var(--ease-rise) 1.55s both;transform:scaleX(0)}.energy-breakdown--entrance .energy-tree__branch-v-entrance{transform-origin:top;animation:energy-branch-v .3s var(--ease-rise) 1.95s both;transform:scaleY(0)}.energy-breakdown--entrance .energy-tree__card-rise{opacity:0;transform:translateY(14px)}.energy-breakdown--entrance .energy-tree__card-rise--generated{animation:energy-card-rise .7s var(--ease-rise) .2s both}.energy-breakdown--entrance .energy-tree__card-rise--child{animation:energy-card-rise .7s var(--ease-rise) 2.15s both}@keyframes energy-stem-grow{to{transform:scaleY(1)}}@keyframes energy-junction-pop{to{transform:scale(1)}}@keyframes energy-branch-h{to{transform:scaleX(1)}}@keyframes energy-branch-v{to{transform:scaleY(1)}}@keyframes energy-card-rise{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.energy-breakdown--entrance .energy-ring__outer-fill,.energy-breakdown--entrance .energy-ring__used,.energy-breakdown--entrance .energy-ring__discharge,.energy-breakdown--entrance .energy-ring__centre,.energy-breakdown--entrance .energy-tree__stem-entrance,.energy-breakdown--entrance .energy-tree__junction-entrance,.energy-breakdown--entrance .energy-tree__branch-h-entrance,.energy-breakdown--entrance .energy-tree__branch-v-entrance,.energy-breakdown--entrance .energy-tree__card-rise{opacity:1!important;stroke-dashoffset:0!important;animation:none!important;transform:none!important}.energy-breakdown--flow .energy-ring__discharge-wrap,.energy-breakdown--flow .energy-ring__discharge-glow,.energy-breakdown--flow .energy-connector__flow,.energy-breakdown--flow .energy-tree__junction-pulse{opacity:1!important;animation:none!important}.energy-ring.is-dim-discharge .energy-ring__discharge-wrap{opacity:.28!important}.energy-ring__discharge-wrap{opacity:1!important}.energy-connector__base{opacity:.85!important}}@media (width<=1099px){.energy-breakdown{--energy-child-gap:24px;--energy-columns:minmax(240px, 320px) 32px minmax(0, 1fr) var(--energy-child-gap) minmax(0, 1fr)}}@media (width<=759px){.energy-breakdown__grid{grid-template-columns:minmax(0,1fr);row-gap:40px}.energy-breakdown__ring-col,.energy-breakdown__tree-col{grid-column:1;place-self:start center;min-width:0;max-width:100%}.energy-breakdown__tree-col{width:100%}.energy-card,.energy-tree__children .energy-card{min-height:0;padding:22px 10px 14px}.energy-card__label-row{letter-spacing:.08em;flex-wrap:wrap;font-size:10.5px}.energy-card__value--lg,.energy-card__value--sm{font-size:28px}.energy-card__hint{font-size:12.5px}.energy-card__badge{border-radius:11px;width:46px;height:34px;top:-20px;left:10px}.energy-card__badge svg{width:30px;height:auto}.energy-tree__generated-wrap{margin-top:20px}.energy-tree__connector-slot{height:72px}}
