/* One compact text block, with vintage beacons bracketing its first line. */
.site-header .arrest-pulse {
  --arrest-row-height: 18px;
  --arrest-row-gap: 3px;
  --arrest-beacon-size: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--arrest-row-gap);
  justify-self: center;
  align-self: center;
  max-width: 100%;
  margin-top: 0;
  padding-inline: 0;
  overflow: visible !important;
  text-align: center;
}
.site-header .arrest-pulse-message { display: block; min-width: 0; }
.site-header .arrest-pulse-copy {
  display: grid;
  grid-template-rows: repeat(2, var(--arrest-row-height));
  row-gap: var(--arrest-row-gap);
  line-height: var(--arrest-row-height);
  white-space: nowrap;
}
.site-header .arrest-pulse-frequency {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.site-header .arrest-pulse-frequency-copy { white-space: nowrap; }
.site-header .arrest-counter {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: .3em;
  height: var(--arrest-row-height);
  margin: 0;
  color: #dbeaff;
  font-size: 11px;
  font-weight: 650;
  line-height: var(--arrest-row-height);
  text-align: center;
  white-space: nowrap;
}
.site-header .arrest-counter-total {
  color: #ff6474;
  font-size: 1.888em;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}
/* Reserve the counter row while its saved value loads; never paint a false 1. */
.site-header .arrest-pulse:not([data-counter-ready]) .arrest-counter {
  visibility: hidden;
}
/* Two miniature ribbed lightbars, each with red/blue lenses and a metal base. */
.site-header .arrest-pulse .arrest-lightbar {
  position: relative;
  inset: auto;
  display: inline-flex;
  gap: 2px;
  flex: 0 0 auto;
  width: var(--arrest-beacon-size);
  height: 8px;
  margin: 0;
  border-radius: 3px;
  background: #060c13;
  box-shadow: none;
  animation: none;
  transform: none;
  translate: none;
}
.arrest-lightbar .arrest-beacon { position: relative; display: block; flex: 1; height: 100%; min-width: 0; }
.arrest-lightbar .arrest-beacon:first-child { border-radius: 3px 0 0 3px; }
.arrest-lightbar .arrest-beacon:last-child { border-radius: 0 3px 3px 0; }
.arrest-beacon-red { --beacon-lens: #a01829; --beacon-edge: #d24f61; --beacon-glow: #ff304b; }
.arrest-beacon-blue { --beacon-lens: #135bb4; --beacon-edge: #528fdc; --beacon-glow: #3599ff; }
.arrest-beacon::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--beacon-edge);
  border-radius: inherit;
  background:
    radial-gradient(ellipse at 30% 20%, #fff8, transparent 38%),
    repeating-linear-gradient(90deg, transparent 0 2px, #ffffff18 2px 3px),
    linear-gradient(90deg, #030d1b, var(--beacon-lens) 35%, var(--beacon-lens) 65%, #030d1b);
  filter: brightness(.85);
  box-shadow: inset 0 -2px 2px #0008;
}
.arrest-lightbar::after {
  content: "";
  position: absolute;
  inset: auto 1px -2px;
  height: 2px;
  border: 0;
  border-radius: 0 0 2px 2px;
  background: linear-gradient(#e2f1fc, #718494 35%, #d5e5ef 55%, #344451);
  box-shadow: 0 1px 1px #000a;
}
.beacon-reflector {
  position: absolute;
  z-index: 1;
  left: 32%;
  top: 16%;
  width: 36%;
  height: 43%;
  border-radius: 50%;
  background: linear-gradient(90deg, transparent, #fff 45% 55%, transparent);
  opacity: .16;
}
.site-header .arrest-pulse[data-beacon="red"] .arrest-lightbar-left .arrest-beacon-red::before,
.site-header .arrest-pulse[data-beacon="red"] .arrest-lightbar-right .arrest-beacon-blue::before,
.site-header .arrest-pulse[data-beacon="blue"] .arrest-lightbar-left .arrest-beacon-blue::before,
.site-header .arrest-pulse[data-beacon="blue"] .arrest-lightbar-right .arrest-beacon-red::before {
  filter: brightness(2);
  box-shadow: inset 0 0 3px #fffa, 0 0 5px var(--beacon-glow);
}
.site-header .arrest-pulse[data-beacon="red"] .arrest-lightbar-left .arrest-beacon-red .beacon-reflector,
.site-header .arrest-pulse[data-beacon="red"] .arrest-lightbar-right .arrest-beacon-blue .beacon-reflector,
.site-header .arrest-pulse[data-beacon="blue"] .arrest-lightbar-left .arrest-beacon-blue .beacon-reflector,
.site-header .arrest-pulse[data-beacon="blue"] .arrest-lightbar-right .arrest-beacon-red .beacon-reflector {
  opacity: 1;
  animation: beacon-reflector-sweep 200ms linear both;
}
@keyframes beacon-reflector-sweep {
  from { transform: translateX(-60%) scaleX(.3); }
  50% { transform: translateX(0) scaleX(1); }
  to { transform: translateX(60%) scaleX(.3); }
}
@media (min-width: 651px) and (pointer: coarse) {
  .site-header .arrest-counter { font-size: 12px; }
}
@media (min-width: 651px) and (max-width: 767px) and (min-height: 501px) {
  .site-header .arrest-pulse { font-size: 12px; }
}
@media (min-width: 768px) and (min-height: 501px) and (orientation: landscape) and (pointer: coarse) {
  .site-header .arrest-pulse { --arrest-beacon-size: 26px; transform: translateX(-10px); }
}
@media (max-width: 650px) and (orientation: portrait),
       (max-height: 500px) and (orientation: landscape) and (pointer: coarse),
       (min-width: 941px) and (orientation: landscape) and (hover: hover) and (pointer: fine) {
  .site-header .arrest-pulse { --arrest-row-height: 16px; --arrest-row-gap: 1px; font-size: 11px; }
  .site-header .arrest-counter { font-size: inherit; }
  .site-header .arrest-counter-total { font-size: 1.6em; }
}
@media (max-width: 650px) and (orientation: portrait),
       (max-height: 500px) and (orientation: landscape) and (pointer: coarse) {
  .site-header .arrest-pulse { --arrest-row-height: 14px; --arrest-beacon-size: 22px; font-size: 10px; }
}
@media (max-width: 650px) and (orientation: portrait) {
  .site-header .arrest-pulse { margin-top: 4px; }
}
@media (min-width: 941px) and (orientation: landscape) and (hover: hover) and (pointer: fine) {
  .site-header .arrest-pulse { transform: translateX(-20px); }
}
@media (prefers-reduced-motion: reduce) {
  /* Keep the requested tiny color signal; reduce motion by stopping the sweep. */
  .site-header .arrest-pulse[data-beacon] .arrest-lightbar .arrest-beacon .beacon-reflector { animation: none; opacity: .16; }
}
