/* The Halloran · neon-lit treatment for the web.
   The glow is an EFFECT applied to the flat master. Masters stay flat (white/black/neon SVGs).
   Usage A (inline SVG, preferred): paste a *_white.svg inline, give the <svg> class="neon",
     and set its <path fill="currentColor">.
   Usage B (<img>): <img class="neon" src="halloran-blade-sign_white.svg">. drop-shadow works on images;
     the tube core then stays white, which reads as "white neon with red glow". Alternatively use *_lit.svg,
     which carries its own SVG filter. */

.neon {
  color: #FFE3DD;                       /* hot tube core */
  filter:
    drop-shadow(0 0 0.5px #ffffff)
    drop-shadow(0 0 3px  #FF7A68)       /* --neon-hot  */
    drop-shadow(0 0 9px  #E23B2E)       /* --neon      */
    drop-shadow(0 0 22px #8E1F18);      /* --neon-deep */
}
.neon.is-off {                          /* unlit tube, used in the ignition frames */
  color: #4A1F1B;                       /* --neon-off */
  filter: none;
}
/* Scale the glow with the sign: small marks need tighter halos. */
.neon--small { filter: drop-shadow(0 0 1.5px #FF7A68) drop-shadow(0 0 5px #E23B2E); }

/* Ignition: plays once on first view, then holds. Max 3 flashes/second. See design/MOTION.md. */
@keyframes halloran-ignite {
  0%, 6%    { opacity: .15; filter: none; }
  8%        { opacity: 1; }
  12%       { opacity: .2;  filter: none; }
  16%       { opacity: 1; }
  19%, 33%  { opacity: .25; filter: none; }
  36%, 100% { opacity: 1; }
}
.neon.ignite { animation: halloran-ignite 1.6s steps(1, end) 1 both; }

/* Idle stutter: add .stutter from JS every 9-17 s, and remove it on animationend. */
@keyframes halloran-stutter { 0%, 100% { opacity: 1; } 40% { opacity: .55; } }
.neon.stutter { animation: halloran-stutter 70ms linear 1; }

@media (prefers-reduced-motion: reduce) {
  .neon.ignite, .neon.stutter { animation: none; }
}
