/* Neon components — the future design-system seed.
   A tube is near-white glass core + colored halo (text-shadow stack). */

.neon {
  color: var(--tube-core);
  -webkit-user-select: none;
  user-select: none;
}
.neon--pink { text-shadow: var(--glow-pink); }
.neon--blue { text-shadow: var(--glow-blue); }
.neon--red  { text-shadow: var(--glow-red); }

/* Hollow tube: unlit glass outline, lit by the glow filter.
   Distinct construction from the filled-script tubes above. */
.neon-hollow {
  color: transparent;
  -webkit-text-stroke: 2.5px var(--pink);
  filter: var(--tubeglow-pink);
  user-select: none;
}

/* --- Strike-on: the sign powers up once when you arrive --- */
@keyframes strike-on {
  0%   { opacity: 0; text-shadow: none; }
  7%   { opacity: 1; }
  9%   { opacity: 0.2; text-shadow: none; }
  13%  { opacity: 1; }
  16%  { opacity: 0.15; text-shadow: none; }
  22%  { opacity: 1; }
  28%  { opacity: 0.4; }
  36%  { opacity: 1; }
  100% { opacity: 1; }
}
.strike { animation: strike-on 1.1s linear both; }
.strike--2 { animation-delay: 0.25s; }
.strike--3 { animation-delay: 0.55s; }

/* --- Mains sag: the whole phrase dips almost imperceptibly, rarely --- */
@keyframes mains-sag {
  0%, 86%, 91%, 100% { opacity: 1; }
  88.2% { opacity: 0.86; }
  89.1% { opacity: 0.96; }
  89.8% { opacity: 0.88; }
}
.neon-flicker { animation: mains-sag 7.3s linear infinite; animation-delay: 1.7s; }

/* --- The signature: one tube is dying. Mostly lit; every cycle it
       stutters, goes dark for a beat, and buzzes back. --- */
@keyframes tube-dying {
  0%, 100% { opacity: 1; }
  61%  { opacity: 1; }
  62%  { opacity: 0.1; }
  63%  { opacity: 0.9; }
  64.5%{ opacity: 0.08; }
  66%  { opacity: 0.75; }
  67%  { opacity: 0.05; }   /* dead */
  74%  { opacity: 0.05; }   /* stays dead a beat */
  75%  { opacity: 0.6; }
  75.8%{ opacity: 0.1; }
  77%  { opacity: 1; }      /* buzzes back */
}
.tube-dying {
  display: inline-block;
  animation: tube-dying 6.4s linear infinite;
  animation-delay: 2.1s; /* let the strike-on finish first */
}

/* Reduced motion: steady glow, nothing flickers (base.css collapses
   the animations; fill-modes leave everything in the lit state). */
