/* Small static DOM budget; only opacity and transform animate. */
#ambientEffects{display:block !important;position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:strict;}
#ambientEffects i{position:absolute;display:block;pointer-events:none;}
#ambientEffects[data-mood="rain"] i{
  left:var(--x);top:-12%;width:1px;height:42px;
  background:linear-gradient(transparent,rgba(188,221,236,.28));
  animation:ambient-rain var(--duration) var(--delay) linear infinite !important;
}
@keyframes ambient-rain{to{transform:translate3d(-65px,115vh,0);}}
#ambientEffects .storm-light{
  position:absolute;inset:0 0 45%;opacity:0;
  background:linear-gradient(155deg,transparent 10%,rgba(167,135,239,.15),transparent 85%);
  animation:storm-bloom 29s 9s ease-in-out infinite !important;
}
@keyframes storm-bloom{0%,78%,100%{opacity:0;}84%{opacity:1;}94%{opacity:0;}}
#ambientEffects[data-mood="night"] i{
  left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:#bdd9e3;
  animation:star-breathe 9s var(--delay) ease-in-out infinite !important;opacity:.12;
}
@keyframes star-breathe{50%{opacity:.42;}}
#ambientEffects[data-mood="morning"] i,
#ambientEffects[data-mood="evening"] i{
  inset:45% 0 15%;background:linear-gradient(transparent,rgba(239,167,113,.07),transparent);
  animation:dawn-arrival 3s ease-out both !important;
}
#ambientEffects[data-mood="daytime"] i{
  inset:8% -12% 55%;
  background:linear-gradient(165deg,transparent 35%,rgba(224,243,249,.035) 50%,transparent 65%);
  animation:cloud-drift 90s ease-in-out infinite alternate !important;
}
@keyframes dawn-arrival{from{opacity:0;}to{opacity:1;}}
@keyframes cloud-drift{to{transform:translate3d(8%,0,0);}}
html body.ui-premium .value-updated{animation:value-arrival .65s ease-out !important;}
@keyframes value-arrival{from{opacity:.65;}to{opacity:1;}}
#energyOverview [tabindex="0"]:focus-visible,
.power-profile-legend [role="button"]:focus-visible{outline:2px solid #b4ddec;outline-offset:4px;}
.power-profile-legend [role="button"]{cursor:pointer;}
.power-profile-legend [aria-pressed="true"]{border-color:var(--energy-accent,#b4ddec) !important;}
#energyProfile[data-series]:not([data-series=""]) .profile-line{opacity:.18 !important;}
#energyProfile[data-series="0"] .profile-line.production-line,
#energyProfile[data-series="1"] .profile-line.consumption-line,
#energyProfile[data-series="2"] .profile-line.grid-profile-line,
#energyProfile[data-series="3"] .profile-line.battery-profile-line,
#energyProfile[data-series="4"] .profile-line.soc-profile-line{opacity:1 !important;stroke-width:2.4 !important;}
#energyOverview[data-flow-focus="solar"] :is(.solar-line,.solar-path),
#energyOverview[data-flow-focus="battery"] :is(.battery-line,.battery-path),
#energyOverview[data-flow-focus="grid"] :is(.grid-line,.grid-path),
#energyOverview[data-flow-focus="home"] :is(.home-line,.home-path){opacity:1 !important;stroke-width:4 !important;}
#energyOverview[data-flow-focus="solar"] :is(.solar-flow,.mobile-flow-solar),
#energyOverview[data-flow-focus="battery"] :is(.battery-flow,.mobile-flow-battery),
#energyOverview[data-flow-focus="grid"] :is(.grid-flow,.mobile-flow-grid),
#energyOverview[data-flow-focus="home"] :is(.home-flow-card,.mobile-flow-home){outline:1px solid var(--energy-accent,#b4ddec);outline-offset:3px;}
#refreshFeedback{position:fixed;bottom:100px;right:22px;max-width:min(320px,calc(100% - 44px));z-index:120;color:#e7f4f5;background:#10232b;border-radius:6px;font-size:13px;line-height:1.5;}
#refreshFeedback:not(:empty){padding:10px 14px;border:1px solid #537780;}
html body #pageRefreshButton[data-feedback="loading"] .utility-icon{animation:refresh-turn 1s linear infinite !important;}
@keyframes refresh-turn{to{transform:rotate(360deg);}}
#pageRefreshButton[data-feedback="success"] .utility-icon,
#pageRefreshButton[data-feedback="error"] .utility-icon{visibility:hidden;}
#pageRefreshButton[data-feedback="success"]::after{content:"✓";position:absolute;font-size:25px;color:#79e5b7;}
#pageRefreshButton[data-feedback="error"]::after{content:"!";position:absolute;font-size:25px;color:#f3c77a;}
@media(max-width:640px){#refreshFeedback{bottom:calc(88px + env(safe-area-inset-bottom));}#ambientEffects[data-mood="rain"] i{height:30px;}}
@media(prefers-reduced-motion:reduce){#ambientEffects{display:none !important;}html body.ui-premium .value-updated,html body #pageRefreshButton[data-feedback="loading"] .utility-icon{animation:none !important;}}
html.tv-browser #ambientEffects{display:none !important;}
html.delight-paused #pageRefreshButton .utility-icon{animation-play-state:paused !important;}
html.tv-browser body.ui-premium .value-updated{animation:none !important;}
