:root {
  --experience-hidden-network: #a855f7;
  --experience-active-origin: #fbbf24;
  --experience-starlight: #f8fafc;
  --experience-coordinate: #38bdf8;
  --experience-anomaly: #dc2626;
  --experience-hidden-network-soft: rgba(168, 85, 247, 0.2);
  --experience-active-origin-soft: rgba(251, 191, 36, 0.18);
}

/* Purple carries the hidden network; gold is reserved for the active origin path. */
.page-villa-network .globe-grid-aura {
  opacity: 0.52;
  background:
    radial-gradient(circle at 50% 52%, var(--experience-active-origin-soft), transparent 18%),
    radial-gradient(circle at 50% 50%, var(--experience-hidden-network-soft), transparent 62%);
}

.page-villa-network .hud-kicker,
.page-maihar-origin .maihar-kicker { color: var(--experience-hidden-network); }

.page-villa-network .telemetry-val,
.page-villa-network .node-coords,
.page-maihar-origin .maihar-subtitle { color: var(--experience-coordinate); }

.page-villa-network .status-online,
.page-villa-network .badge-active,
.page-villa-network .node-signal-name,
.page-maihar-origin .maihar-title,
.page-maihar-origin .maihar-origin-date-badge { color: var(--experience-active-origin); }

.page-villa-network .node-card,
.page-maihar-origin .maihar-origin-date-badge {
  border-color: color-mix(in srgb, var(--experience-active-origin) 58%, transparent);
  box-shadow: 0 0 1.5rem var(--experience-active-origin-soft);
}

.page-villa-network .portal-vortex {
  opacity: 0.82;
  background: radial-gradient(circle, var(--experience-starlight) 0 2%, var(--experience-active-origin) 3% 7%, var(--experience-hidden-network) 19%, rgba(46, 16, 101, 0.72) 38%, transparent 68%);
}

.page-villa-network .horror-modal-content {
  border-color: var(--experience-anomaly);
  box-shadow: 0 0 1.25rem rgba(220, 38, 38, 0.2);
}

.page-villa-network .horror-glitch-title { color: var(--experience-anomaly); }

.page-villa-network :is(button, a):focus-visible,
.page-maihar-origin :is(button, a):focus-visible,
.cosmic-prototype-surface :is(button, a):focus-visible {
  outline: 3px solid var(--experience-coordinate);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .page-villa-network .portal-vortex,
  .page-villa-network .portal-vortex::before,
  .page-villa-network .portal-vortex::after {
    animation: none;
    transform: none;
  }

  .page-villa-network *,
  .page-maihar-origin *,
  .cosmic-prototype-surface * { scroll-behavior: auto; }
}

@media (forced-colors: active) {
  .page-villa-network .node-card,
  .page-villa-network .horror-modal-content,
  .page-maihar-origin .maihar-origin-date-badge {
    border: 1px solid CanvasText;
    box-shadow: none;
  }

  .page-villa-network :is(button, a):focus-visible,
  .page-maihar-origin :is(button, a):focus-visible,
  .cosmic-prototype-surface :is(button, a):focus-visible { outline-color: Highlight; }
}
