/* BuzzStopDisplay — page-level styles applied to the inlined chassis SVG. */

.bs-display {
  display: block;
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  filter: drop-shadow(0 12px 32px rgba(15, 23, 42, 0.22))
          drop-shadow(0 2px 6px rgba(15, 23, 42, 0.12));
  border-radius: 20px;
  overflow: hidden;
}

.bs-display svg {
  display: block;
  width: 100%;
  height: auto;
}

/* Segment & indicator on/off state. Mirrors the inline defaults baked into
   chassis.svg so the look stays consistent whether the SVG is loaded
   standalone or inlined into the page. */
.bs-display .bs-seg,
.bs-display .bs-ind {
  transition: opacity 140ms ease-out;
}

/* Off = faint ghost (LCD-style unlit segment); on = full opacity. */
.bs-display .bs-seg-off { opacity: 0.04; }
.bs-display .bs-seg-on  { opacity: 1; }

.bs-display .bs-ind-off { opacity: 0.04; }
.bs-display .bs-ind-on  { opacity: 1; }

/* Clock colon blink — 1 Hz, 50% duty cycle. */
@keyframes bs-colon-blink {
  0%, 49.99%   { opacity: 1; }
  50%, 100%    { opacity: 0; }
}
.bs-display [data-pos="time-colon"] {
  animation: bs-colon-blink 1s linear infinite;
}

/* Stale state: lower active-segment intensity to signal old data. */
.bs-display[data-state="stale"] .bs-seg-on,
.bs-display[data-state="error"] .bs-seg-on {
  opacity: 0.65;
}

/* Caption beneath the display in the hero. Single horizontal row that wraps
   cleanly on narrow screens; the editable code sits inline with the prose. */
.bs-display-caption {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  color: rgb(82 82 91);
  letter-spacing: -0.005em;
}
.bs-display-caption .bs-display-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bs-display-caption .bs-display-divider {
  display: inline-block;
  width: 3px; height: 3px; border-radius: 999px;
  background: rgb(212 212 216);
}
.bs-display-caption .bs-display-dot {
  display: inline-block;
  width: 7px; height: 7px; border-radius: 999px;
  background: rgb(16 185 129);
  box-shadow: 0 0 0 3px rgb(16 185 129 / 0.18);
  animation: bs-pulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes bs-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.3); opacity: 0.85; }
}
