/* ORACLE TRANSPLANT — COAT ONE
   palette: M's own. contract v2: spectrum = masthead line + composer (later).
   chat stays black. pink belongs to one ID only (enforced in later coats). */

:root {
  --meta-pink: #ff2d95;
  --meta-yellow: #ffd500;
  --meta-cyan: #00ffd0;
  --meta-red: #ff1a1a;
  --meta-violet: #a020f0;
}

/* kill the beige at the root — anchors that survive Cinny's hashed classes */
html, body, #root {
  background:
    radial-gradient(circle at 72% 2%, rgba(255,45,149,.055), transparent 27%),
    radial-gradient(circle at 28% 96%, rgba(0,255,208,.045), transparent 32%),
    #030405 !important;
}

/* scanline + fracture veil — your exact veil, clicks pass through */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  pointer-events: none;
  opacity: .19;
  mix-blend-mode: screen;
  background:
    repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.025) 3px 4px),
    linear-gradient(90deg, transparent 0 48%, rgba(255,45,149,.025) 49%, transparent 50% 100%);
}

/* THE SPECTRUM LINE — top of screen, always, for everyone */
body::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 2px;
  z-index: 2147483001;
  pointer-events: none;
  background: linear-gradient(90deg,
    var(--meta-cyan) 0 17%,
    var(--meta-red) 24% 38%,
    var(--meta-yellow) 45% 60%,
    var(--meta-pink) 67% 83%,
    var(--meta-violet) 91% 100%);
  box-shadow: 0 0 8px rgba(0,255,208,.34), 0 0 10px rgba(255,45,149,.24);
  animation: spectrum-breathe 3.4s ease-in-out infinite;
}

@keyframes spectrum-breathe {
  0%, 100% { opacity: 1; filter: saturate(1); }
  50% { opacity: .72; filter: saturate(1.5); }
}

@media (prefers-reduced-motion: reduce) {
  body::before { animation: none; }
}
