@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-gold-light:#ffd080;--color-gold:#ffba55;--color-gold-dark:#e8a840;--color-teal:#6dd8be;--color-teal-rgb:77, 184, 164;--color-text:#e8edf5;--color-text-rgb:232, 237, 245;--color-bg-dark:#1a2a4a;--color-bg-mid:#243a6c;--color-bg-light:#1e3260;--color-surface:#1e325acc;--color-surface-light:#19284be6;--color-tooltip-bg:#141e37f2;--color-sun-rgb:255, 200, 80;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Playfair Display", serif}body{font-family:var(--font-body);color:var(--color-text);scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{background:0 0!important;width:0!important}.App{text-align:center;background:linear-gradient(160deg, var(--color-bg-dark) 0%, var(--color-bg-mid) 40%, var(--color-bg-light) 100%);background-attachment:fixed;min-height:100vh;display:flex}div.main-container{width:100%;max-width:56.25rem;margin:0 auto;padding-bottom:2.5rem}.site-header{justify-content:space-between;align-items:center;padding:1.5rem 1.25rem 0;display:flex}.site-brand{align-items:center;gap:.625rem;display:flex}.site-brand-sun{filter:drop-shadow(0 0 .5rem rgba(var(--color-sun-rgb), .3));font-size:1.75rem;line-height:1}.site-brand h1{font-family:var(--font-display);letter-spacing:-.03rem;background:linear-gradient(135deg, var(--color-gold-light) 0%, var(--color-gold) 50%, var(--color-gold-dark) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.625rem;font-weight:700}.site-header-right{align-items:center;gap:.5rem;display:flex}.site-location{color:rgba(var(--color-text-rgb), .4);letter-spacing:.01rem;white-space:nowrap;font-size:.6875rem}.lang-picker{position:relative}.lang-toggle{background:rgba(var(--color-text-rgb), .08);border:1px solid rgba(var(--color-text-rgb), .15);color:rgba(var(--color-text-rgb), .5);cursor:pointer;letter-spacing:.03rem;border-radius:4px;padding:.15rem .4rem;font-family:DM Sans,sans-serif;font-size:.625rem;font-weight:600}.lang-toggle:hover{background:rgba(var(--color-text-rgb), .15);color:rgba(var(--color-text-rgb), .7)}.lang-menu{background:var(--color-bg,#1a2a4a);border:1px solid rgba(var(--color-text-rgb), .15);z-index:100;border-radius:6px;flex-direction:column;padding:.2rem;display:flex;position:absolute;top:calc(100% + 4px);right:0}.lang-menu-item{color:rgba(var(--color-text-rgb), .5);cursor:pointer;text-align:left;letter-spacing:.03rem;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-family:DM Sans,sans-serif;font-size:.625rem;font-weight:600}.lang-menu-item:hover{background:rgba(var(--color-text-rgb), .1);color:rgba(var(--color-text-rgb), .8)}.site-expand-toggle{cursor:pointer;color:rgba(var(--color-text-rgb), .4);-webkit-user-select:none;user-select:none;padding:.25rem .5rem;font-size:1.375rem;transition:transform .2s}.site-expand-toggle:hover{color:rgba(var(--color-text-rgb), .7)}.site-expand-toggle--open{transform:rotate(180deg)}.site-plant-details{flex-wrap:wrap;justify-content:flex-end;gap:1rem;padding:.375rem 1.5rem 0;display:flex}.site-plant-details span{color:rgba(var(--color-text-rgb), .4);letter-spacing:.01rem;font-size:.6875rem}.site-plant-details span strong{color:rgba(var(--color-text-rgb), .6);font-weight:500}.site-divider{background:linear-gradient(90deg, transparent 0%, rgba(var(--color-sun-rgb), .12) 30%, rgba(var(--color-sun-rgb), .12) 70%, transparent 100%);height:1px;margin:.875rem 1.25rem 0}@media (width<=37.5rem){.site-header{padding:1.125rem 1rem 0}.site-brand h1{font-size:1.375rem}.site-brand-sun{font-size:1.5rem}.site-plant-info{justify-content:flex-start;gap:.75rem}.site-divider{margin:.625rem 1rem 0}}.view-switcher{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:.5rem;padding:.1875rem;display:flex}.view-switcher-btn{font-family:var(--font-body);color:rgba(var(--color-text-rgb), .45);cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.3125rem 1rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:all .2s ease-out}.view-switcher-btn:hover{color:rgba(var(--color-text-rgb), .7)}.view-switcher-btn--active{background:rgba(var(--color-teal-rgb), .18);color:var(--color-teal);box-shadow:0 1px .5rem #00000026}.view-switcher-btn--active:hover{background:rgba(var(--color-teal-rgb), .22)}.header-navigation{justify-content:space-between;align-items:center;padding:.75rem 1.25rem .5rem;display:flex}.date-nav{align-items:center;display:flex}.date-nav h2{letter-spacing:-.03rem;text-align:center;width:11.25rem;margin:0;font-size:1.5rem;font-weight:700}.date-nav img{opacity:.5;border-radius:.375rem;width:1.125rem;height:1.125rem;padding:.375rem;transition:all .15s ease-out}.date-nav img:hover{opacity:.9;cursor:pointer;background:#ffffff0f}.chart-tooltip{background-color:var(--color-tooltip-bg);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);color:var(--color-text);white-space:nowrap;border:1px solid #ffffff14;border-radius:.5rem;padding:.625rem .875rem;font-size:.8125rem;line-height:1.6;box-shadow:0 .25rem 1.25rem #0000004d}.mobile-tooltip-link{text-align:center;width:100%;font-size:.75rem;font-family:var(--font-body);color:var(--color-teal);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(var(--color-teal-rgb), .2);background:0 0;border:none;padding:.5rem 0 .125rem;display:block}.mobile-tooltip-bar{z-index:10;justify-content:center;padding:.25rem .5rem;display:flex;position:absolute;top:0;left:0;right:0}.chart-tooltip strong{font-weight:500}.chart-container{background:linear-gradient(145deg, var(--color-surface), var(--color-surface-light));border:1px solid #ffffff0f;border-radius:1rem;height:28em;margin:0 1rem;padding:.75rem .25rem .25rem;position:relative;box-shadow:0 .25rem 1.875rem #0003,inset 0 1px #ffffff0d}.chart-container h2{opacity:.5;margin:0;font-size:1.125rem;font-weight:500}.no-data-overlay{text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.no-data-reason{color:rgba(var(--color-text-rgb), .5);max-width:17.5rem;margin:.5rem auto 0;font-size:.6875rem;line-height:1.5}.keynumber-container{gap:.75rem;margin:.75rem 1rem;display:flex}.keynumber-cell{background:linear-gradient(145deg, var(--color-surface), var(--color-surface-light));text-align:center;border:1px solid #ffffff0f;border-radius:1rem;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:1.5rem .5rem;transition:transform .2s ease-out,box-shadow .2s ease-out;display:flex;position:relative;box-shadow:0 .25rem 1.875rem #00000026,inset 0 1px #ffffff0d}.keynumber-cell:hover{transform:translateY(-2px);box-shadow:0 .5rem 2.5rem #00000040,inset 0 1px #ffffff14}.keynumber-cell:has(.info-panel-toggle){cursor:pointer}.keynumber-cell img{width:1.875rem;height:1.875rem}.keynumber-cell span{letter-spacing:-.03rem;margin-right:.5rem;font-size:1.625rem;font-weight:600}span.keynumber-cell-subtext{opacity:.55;letter-spacing:.01rem;margin-top:.5rem;padding-right:1.25rem;font-size:.8125rem;font-weight:400}.svg-image{width:6.25rem;height:auto}@media (width<=48rem){.chart-container{height:22em;margin:0 .625rem}.keynumber-container{gap:.5rem;margin:.625rem}.keynumber-cell{padding:1rem .375rem}.keynumber-cell span{letter-spacing:-.03rem;margin-right:.25rem;font-size:1.125rem}.keynumber-cell img{width:1.625rem;height:1.625rem}span.keynumber-cell-subtext{margin-top:.25rem;font-size:.6875rem}.header-navigation{padding:.5rem .75rem .375rem}.date-nav h2{width:auto;min-width:7rem;font-size:1.125rem}.date-nav img{padding:.25rem}.view-switcher-btn{padding:.25rem .625rem;font-size:.625rem}}.loading{justify-content:center;align-items:center;width:100%;height:100vh;display:flex}.peak-badge{text-align:center;color:rgba(var(--color-text-rgb), .55);padding:.25rem 1rem;font-size:.8125rem}.peak-badge strong{color:rgba(var(--color-sun-rgb), .85);font-weight:600}.sun-toggle{color:rgba(var(--color-text-rgb), .35);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.25rem .625rem;font-size:.75rem;transition:all .2s ease-out}.sun-toggle--active{color:rgba(var(--color-teal-rgb), .9)}.sun-toggle:hover{background:#ffffff0d}.keynumber-cell .info-panel-toggle{cursor:pointer;color:rgba(var(--color-teal-rgb), .7);letter-spacing:0;margin-right:0;font-size:1.0625rem;font-weight:500;line-height:1;animation:1.8s ease-in-out infinite pulse-info;position:absolute;bottom:.5rem;right:.625rem}.keynumber-cell .info-panel-toggle:hover{color:rgba(var(--color-teal-rgb), .9);animation:none}@keyframes pulse-info{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.co2-info-panel,.info-panel{background:linear-gradient(145deg, var(--color-surface), var(--color-surface-light));text-align:left;border:1px solid #ffffff0f;border-radius:.75rem;margin:0 1rem;padding:1rem 3.5rem 1rem 1.25rem;font-size:.8125rem;line-height:1.7;position:relative;overflow:hidden}.co2-info-panel:after,.info-panel:after{content:"🌱";opacity:.7;font-size:1.7rem;position:absolute;top:.5rem;right:1.5rem}.co2-info-panel.earnings-panel:after{content:"";background:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjUwIiB2aWV3Qm94PSIwIDAgNDggNDgiIHdpZHRoPSI1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8IS0tIEJhY2sgY29pbiAtLT4KICA8ZWxsaXBzZSBjeD0iMjgiIGN5PSIyOCIgcng9IjE0IiByeT0iMTQiIGZpbGw9IiNkNGEwMTciLz4KICA8ZWxsaXBzZSBjeD0iMjgiIGN5PSIyOCIgcng9IjExIiByeT0iMTEiIGZpbGw9IiNmMGMwNDAiLz4KICA8ZWxsaXBzZSBjeD0iMjgiIGN5PSIyOCIgcng9IjkiIHJ5PSI5IiBmaWxsPSIjZThiNDMwIiBzdHJva2U9IiNkNGEwMTciIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgPHRleHQgeD0iMjgiIHk9IjMzIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iNzAwIiBmaWxsPSIjYTA3ODEwIiBmb250LWZhbWlseT0ic2VyaWYiPmtyPC90ZXh0PgoKICA8IS0tIEZyb250IGNvaW4gKG92ZXJsYXBwaW5nKSAtLT4KICA8ZWxsaXBzZSBjeD0iMTgiIGN5PSIyMiIgcng9IjE0IiByeT0iMTQiIGZpbGw9IiNjNDkyMTUiLz4KICA8ZWxsaXBzZSBjeD0iMTgiIGN5PSIyMiIgcng9IjExIiByeT0iMTEiIGZpbGw9IiNlOGI0MzAiLz4KICA8ZWxsaXBzZSBjeD0iMTgiIGN5PSIyMiIgcng9IjkiIHJ5PSI5IiBmaWxsPSIjZjBjMDQwIiBzdHJva2U9IiNkNGEwMTciIHN0cm9rZS13aWR0aD0iMC41Ii8+CiAgPHRleHQgeD0iMTgiIHk9IjI3IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iNzAwIiBmaWxsPSIjYTA3ODEwIiBmb250LWZhbWlseT0ic2VyaWYiPmtyPC90ZXh0PgoKICA8IS0tIFNoaW5lIG9uIGZyb250IGNvaW4gLS0+CiAgPGVsbGlwc2UgY3g9IjE0IiBjeT0iMTgiIHJ4PSIzIiByeT0iNSIgZmlsbD0icmdiYSgyNTUsMjU1LDI1NSwwLjE1KSIgdHJhbnNmb3JtPSJyb3RhdGUoLTMwIDE0IDE4KSIvPgo8L3N2Zz4K) 50%/contain no-repeat;width:1.7rem;height:1.7rem}.co2-info-header{color:rgba(var(--color-text-rgb), .8);margin:0 0 .625rem;font-weight:500}.co2-info-list{margin:0;padding:0;list-style:none}.co2-info-list li{color:rgba(var(--color-text-rgb), .75);border-bottom:1px solid #ffffff0a;padding:.25rem 0}.co2-info-list li:last-child{border-bottom:none}.co2-info-list strong{color:var(--color-teal);min-width:3.125rem;font-weight:600;display:inline-block}.co2-info-rate{color:rgba(var(--color-text-rgb), .55);font-size:.6875rem}.co2-info-source{color:rgba(var(--color-text-rgb), .45);font-size:.625rem;font-style:italic}.co2-info-footer{color:rgba(var(--color-text-rgb), .35);margin:.625rem 0 0;font-size:.6875rem;font-style:italic}.info-panel.earnings-info-panel:after{content:"💰"}.earnings-info-text{color:rgba(var(--color-text-rgb), .6);margin:0;font-size:.8125rem;line-height:1.5}.compare-year-bar{justify-content:flex-end;align-items:center;gap:.375rem;padding:.5rem 1.25rem 0;display:flex}.compare-year-label{color:rgba(var(--color-text-rgb), .5);margin-right:.125rem;font-size:.6875rem}.compare-year-btn{color:rgba(var(--color-text-rgb), .6);font-family:var(--font-body);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.375rem;padding:.1875rem .625rem;font-size:.6875rem;transition:all .2s ease-out}.compare-year-btn:hover{color:rgba(var(--color-text-rgb), .85);background:#ffffff14}.compare-year-btn--active,.compare-year-btn--active:hover{background:rgba(var(--color-teal-rgb), .25);color:var(--color-teal);border-color:rgba(var(--color-teal-rgb), .5)}.records-panel{background:linear-gradient(145deg, var(--color-surface), var(--color-surface-light));border:1px solid #ffffff0f;border-radius:.75rem;margin:.5rem 1rem;overflow:hidden}.records-header{text-transform:uppercase;letter-spacing:.05rem;color:rgba(var(--color-text-rgb), .4);text-align:left;padding:.75rem 1rem .375rem;font-size:.75rem;font-weight:600}.records-item{cursor:pointer;border-top:1px solid #ffffff08;align-items:center;padding:.625rem 1rem;transition:background .15s;display:flex}.records-item:hover{background:#ffffff08}.records-icon{flex-shrink:0;width:2.5rem;height:1.5rem;font-size:1.125rem;line-height:1.5rem;display:inline-block;overflow:hidden}.records-item>div{text-align:left}.records-item strong{color:var(--color-teal);font-size:.9375rem;font-weight:600;display:block}.records-detail{color:rgba(var(--color-text-rgb), .45);margin-top:.125rem;font-size:.6875rem;display:block}@keyframes milestoneGlow{0%,to{box-shadow:0 0 8px #ffc85026,0 0 20px #ffc8500d}50%{box-shadow:0 0 14px #ffc8504d,0 0 30px #ffc8501a}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.milestone-track{scrollbar-width:none;-ms-overflow-style:none;gap:.5rem;padding:.75rem 1rem;display:flex;overflow-x:auto}.milestone-track::-webkit-scrollbar{display:none}.milestone-badge{text-align:center;border:1px solid #ffffff0f;border-radius:.5rem;flex-direction:column;flex-shrink:0;align-items:center;min-width:5rem;padding:.625rem .875rem;transition:all .3s;display:flex}@keyframes sheen{0%,85%{left:-100%}to{left:200%}}.milestone-badge--reached{background:linear-gradient(145deg, #d2dceb17, rgba(var(--color-teal-rgb), .08) 60%, #b4c3d70a);border-color:rgba(var(--color-teal-rgb), .2);position:relative;overflow:hidden;box-shadow:inset 1px 1px #dce6f014,inset -1px -1px #0000001a}.milestone-badge--reached:before{content:"";width:40%;height:100%;animation:sheen var(--sheen-duration,8s) ease-in-out infinite;animation-delay:var(--sheen-delay,0s);pointer-events:none;background:linear-gradient(90deg,#0000,#dce6f01a,#ffffff12,#0000);position:absolute;top:0;left:-100%}.milestone-badge--next{background:linear-gradient(145deg,#ffc85014,#ffc85008);border-color:#ffc8504d;animation:3s ease-in-out infinite milestoneGlow}.milestone-badge--pending{opacity:.3;background:#ffffff05}.milestone-icon{width:1.125rem;height:.75rem;margin-bottom:.25rem}.milestone-badge--reached .milestone-icon{color:var(--color-teal)}.milestone-badge--next .milestone-icon{color:#ffc850b3}.milestone-badge--pending .milestone-icon{color:rgba(var(--color-text-rgb), .25)}.milestone-value{color:var(--color-teal);font-size:.8125rem;font-weight:600}.milestone-badge--next .milestone-value{color:#ffc850e6}.milestone-badge--pending .milestone-value{color:rgba(var(--color-text-rgb), .5)}.milestone-date{color:rgba(var(--color-text-rgb), .4);margin-top:.25rem;font-size:.5625rem}.milestone-progress{background:#ffffff14;border-radius:2px;width:100%;height:3px;margin-top:.4rem;overflow:hidden}.milestone-progress-bar{background:linear-gradient(90deg,#ffc85099,#ffc850e6) 0 0/200% 100%;border-radius:2px;height:100%;transition:width .5s;animation:2s ease-in-out infinite shimmer}.milestone-percent{color:#ffc850b3;margin-top:.2rem;font-size:.5625rem;font-weight:600}.lifetime-section-label{text-transform:uppercase;letter-spacing:.05rem;color:rgba(var(--color-text-rgb), .35);padding:1rem 1.25rem .375rem;font-size:.75rem;font-weight:600}.heatmap-container{height:auto;padding:1rem}.heatmap-scroll{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}.heatmap-scroll::-webkit-scrollbar{display:none}.heatmap-legend{justify-content:flex-end;align-items:center;padding:.75rem .25rem 0;display:flex}.heatmap-total{color:rgba(var(--color-text-rgb), .6);font-size:.8125rem;font-weight:600}.heatmap-scale{color:rgba(var(--color-text-rgb), .35);align-items:center;gap:.25rem;font-size:.625rem;display:flex}.heatmap-scale-cell{border-radius:.1875rem;width:.75rem;height:.75rem;display:inline-block}.skeleton{position:relative;overflow:hidden}.skeleton:before{content:"";z-index:1;background:linear-gradient(90deg,#0000 0%,#ffffff08 50%,#0000 100%);animation:1.2s ease-in-out infinite loading;position:absolute;inset:0}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}
