/* Signals theme — overrides only (layout preserved) */

html.theme-signals {
  /* Palette: deep graphite + biomed / wearable highlights */
  --navy: #05070c;
  --navy-light: #0a0f18;
  --navy-lighter: #162033;
  --slate: #98a6c7;
  --slate-light: #c1cbe6;
  --white: #e7ecff;

  /* Accent shifts from teal-space to “signals” spectrum */
  --accent: #7cffe1;
  --accent-bright: #b6ffef;
  --accent-dim: rgba(124, 255, 225, 0.18);
  --accent-tint: rgba(124, 255, 225, 0.07);
  --accent-rgb: 124, 255, 225;

  /* Secondary glow */
  --signal-violet: rgba(164, 115, 255, 0.9);
  --signal-violet-dim: rgba(164, 115, 255, 0.16);
}

/* Disable “space” background layers in Signals branch (replace with signals canvases) */
html.theme-signals .starfield,
html.theme-signals #sky-canvas,
html.theme-signals #astro-ship-root {
  display: none !important;
}

/* Signals background root (canvas modules mount here) */
html.theme-signals #signals-bg-root {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

/* Companion character root (kept behind text) */
html.theme-signals #signals-character-root {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

/* Micro-animations (visual only) */
@keyframes signalsPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(var(--accent-rgb), 0.0);
  }
  50% {
    box-shadow: 0 0 0 2px rgba(var(--accent-rgb), 0.14);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(var(--accent-rgb), 0.0);
  }
}

@keyframes signalsShimmer {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 240px 0;
  }
}

html.theme-signals .site-nav__link.is-active .site-nav__link-line {
  animation: signalsPulse 1.6s ease-in-out infinite;
}

html.theme-signals .cv-download,
html.theme-signals .portfolio-chat__prompt {
  animation: signalsPulse 2.2s ease-in-out infinite;
}

html.theme-signals .section__title::after {
  background: linear-gradient(
    90deg,
    rgba(22, 32, 51, 1),
    rgba(var(--accent-rgb), 0.35),
    rgba(164, 115, 255, 0.25),
    rgba(22, 32, 51, 1)
  );
  background-size: 240px 1px;
  animation: signalsShimmer 6s linear infinite;
}

/* Prefer subtle motion; disable continuous animations for reduced motion */
@media (prefers-reduced-motion: reduce) {
  html.theme-signals .site-nav__link.is-active .site-nav__link-line,
  html.theme-signals .cv-download,
  html.theme-signals .portfolio-chat__prompt,
  html.theme-signals .section__title::after {
    animation: none !important;
  }
}

