@keyframes statusGlow {
  0%, 100% { box-shadow: 0 0 4px 1px rgba(255, 200, 50, 0.2), inset 0 0 0 3px rgba(255, 200, 50, 0.25); }
  50% { box-shadow: 0 0 12px 4px rgba(255, 200, 50, 0.45), inset 0 0 0 3px rgba(255, 200, 50, 0.6); }
}
.status-dot-alive {
  animation-name: statusGlow;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

#refresh-text { font-variant-numeric: tabular-nums; }
#refresh-countdown { display: inline-block; width: 2ch; text-align: center; }
@keyframes dotGlow {
  0%, 100% { opacity: 0.4; box-shadow: 0 0 2px #00ff88; }
  50% { opacity: 1; box-shadow: 0 0 8px #00ff88, 0 0 3px #00ff88; }
}
@keyframes refreshPulse {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.5; }
}
#refresh-indicator.updating { box-shadow: 0 1px 6px rgba(13,110,253,0.5), inset 0 1px 0 rgba(255,255,255,0.25); }
#refresh-indicator.updating #refresh-dot { background: #fff; box-shadow: 0 0 6px #fff; animation: refreshPulse 0.6s ease-in-out infinite; }
#refresh-indicator.updated { box-shadow: 0 1px 6px rgba(25,135,84,0.5), inset 0 1px 0 rgba(255,255,255,0.25); }
#refresh-indicator.updated #refresh-dot { background: #00ff88; box-shadow: 0 0 8px #00ff88; }

.hover-shadow:hover {
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  transition: box-shadow 0.3s ease;
}

.home-logo-spacer { margin-top: 5rem; }
@media (max-width: 767.98px) {
  .home-logo-spacer { margin-top: 2rem; }
}
