.live-state-bar {
  position: sticky;
  top: 0;
  z-index: 9998;
  background: linear-gradient(180deg, #0a0a0f 0%, rgba(10,10,15,0.95) 100%);
  border-bottom: 1px solid rgba(0,230,118,0.15);
  backdrop-filter: blur(8px);
  padding: 6px 16px;
  font-size: 0.75rem;
}

.ls-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

.ls-left { display: flex; align-items: center; gap: 8px; }
.ls-right { color: #888; font-size: 0.7rem; }

.ls-status { color: #e0e0e0; font-weight: 700; letter-spacing: 0.02em; }
.ls-recal { font-family: 'SF Mono', Monaco, Consolas, monospace; }

/* Dot states */
.ls-dot {
  width: 8px; height: 8px; border-radius: 50%;
  display: inline-block;
  transition: all 0.3s;
}
.ls-dot.ls-live {
  background: #ff5252;
  box-shadow: 0 0 8px rgba(255,82,82,0.6);
  animation: ls-pulse 1.5s infinite;
}
.ls-dot.ls-idle {
  background: #ffc107;
  box-shadow: 0 0 4px rgba(255,193,7,0.3);
}
.ls-dot.ls-done {
  background: #00e676;
  box-shadow: 0 0 4px rgba(0,230,118,0.3);
}
.ls-dot.ls-recalibrating {
  background: #42a5f5 !important;
  box-shadow: 0 0 12px rgba(66,165,245,0.6) !important;
  animation: ls-recal-pulse 0.5s infinite;
}

@keyframes ls-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.3); }
}
@keyframes ls-recal-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .live-state-bar { padding: 4px 12px; }
  .ls-inner { flex-direction: column; gap: 2px; }
  .ls-status { font-size: 0.72rem; }
  .ls-right { font-size: 0.65rem; }
}
