/* Don's neon blue trigger look (kept from the original that "worked awesome"):
   transparent body, #0ff border, big glow, text glow. Shared by door + hall. */
:root {
  --neon: #0ff;
  --bg: #000;
  --ink: #c9ffff;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: var(--bg); color: var(--ink);
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; }
.neon-text { color: var(--neon); text-shadow: 0 0 30px var(--neon); }
.neon-trigger {
  background: transparent; color: var(--neon);
  border: 4px solid var(--neon); border-radius: 16px;
  box-shadow: 0 0 90px var(--neon), inset 0 0 24px rgba(0, 255, 255, .25);
  text-shadow: 0 0 30px var(--neon);
  font: inherit; font-weight: 700; letter-spacing: .12em;
  min-width: 48px; min-height: 48px; padding: 18px 36px;
  cursor: pointer; transition: transform .3s, box-shadow .3s, opacity .6s;
  animation: pulse 2.6s ease-in-out infinite;
  -webkit-tap-highlight-color: transparent;
}
.neon-trigger:hover { transform: scale(1.05); }
.neon-trigger:focus-visible { outline: 3px solid var(--neon); outline-offset: 6px; }
.neon-trigger:disabled { opacity: .45; cursor: default; animation: none; }
.neon-trigger.small { padding: 12px 24px; font-size: .9rem; border-width: 3px; }
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 60px var(--neon), inset 0 0 18px rgba(0, 255, 255, .2); }
  50% { box-shadow: 0 0 110px var(--neon), inset 0 0 30px rgba(0, 255, 255, .35); }
}
@media (prefers-reduced-motion: reduce) {
  .neon-trigger { animation: none; transition: none; }
}
[hidden] { display: none !important; }

/* Public test site: always-visible notice (devnet test tokens only). */
.test-banner {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
  padding: 4px 8px; text-align: center; pointer-events: none;
  font: 600 12px/1.4 system-ui, sans-serif; letter-spacing: .08em;
  color: #061018; background: rgba(0, 200, 255, .85);
}
