.high-contrast .section-ha a { color: #fff; }
.high-contrast .section-ha .btn-outline-primary { color: #fff; border-color: #fff; }

.section-ha .section-title,
.section-ha h3,
.section-ha p,
.section-ha .lead { color: #fff; }
.section-ha .section-title + p.lead { color: rgba(255,255,255,.75); }
.section-ha .text-muted { color: rgba(255,255,255,.7) !important; }

.section-ha .analogy-box {
  background: rgba(255,255,255,.12);
  border-left-color: var(--color-secondary);
}
.section-ha .analogy-box svg { color: var(--color-secondary); }
.section-ha .analogy-box p   { color: #fff; }
.section-ha .badge           { font-size: .8rem; }
.section-ha .btn i[data-lucide] { width: 16px; height: 16px; }

.ha-icon-wrap { position: relative; display: inline-block; cursor: pointer; }
.ha-home-icon { color: rgba(255,255,255,.85); }
.ha-zap-icon  {
  position: absolute;
  bottom: 0;
  right: -10px;
  width: 36px;
  height: 36px;
  color: var(--color-secondary);
  animation: zap-pulse 2s ease-in-out infinite;
  transform-origin: bottom right;
}
@keyframes zap-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .6; transform: scale(1.2) rotate(5deg); }
}

.ha-icon-wrap:hover .ha-zap-icon,
.ha-icon-wrap.ha-zap-active .ha-zap-icon {
  animation: zap-big 0.4s ease-out forwards;
}
@keyframes zap-big {
  0%   { transform: scale(1); }
  60%  { transform: scale(4.5) rotate(-8deg); }
  80%  { transform: scale(4.2) rotate(6deg); }
  100% { transform: scale(4) rotate(0deg); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .ha-zap-icon { animation: none; }
  .ha-icon-wrap:hover .ha-zap-icon,
  .ha-icon-wrap.ha-zap-active .ha-zap-icon { animation: none; transform: scale(4); }
}
