  html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  .glow { text-shadow: 0 0 14px rgba(74,222,128,0.45); }
  .glow-amber { text-shadow: 0 0 14px rgba(251,191,36,0.4); }
  .pin { opacity: 0; transition: opacity .4s ease; }
  .pin.lit { opacity: 1; }
  .pulse-ring { transform-origin: center; transform-box: fill-box; }
  .pin.pulse .pulse-ring { animation: ping 1.6s cubic-bezier(0,0,.2,1) infinite; }
  @keyframes ping { 0% { transform: scale(0.6); opacity: .9; } 80%, 100% { transform: scale(1.9); opacity: 0; } }
  @media (prefers-reduced-motion: reduce) { .pin.pulse .pulse-ring { animation: none; opacity: .4; } }
  .card-enter { animation: cardIn .35s ease-out both; }
  @keyframes cardIn { from { opacity: 0; transform: translateX(8px); } to { opacity: 1; transform: none; } }
  .sms-enter { animation: smsIn .45s ease-out both; }
  @keyframes smsIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
  @media (prefers-reduced-motion: reduce) { .card-enter, .sms-enter { animation: none; } }
  .scanlines::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
    background: repeating-linear-gradient(to bottom, rgba(255,255,255,0.025) 0 1px, transparent 1px 3px); }
  .num { font-feature-settings: "tnum" 1; }
