/* Netrunner neon theme - shared by both dashboards */
:root {
  --nr-bg: #07070d;
  --nr-surface: #0e0e1c;
  --nr-border: #20234a;
  --nr-cyan: #00f0ff;
  --nr-magenta: #ff2bd6;
  --nr-text: #d9e8ff;
  --nr-muted: #7f8bb0;
  --nr-mono: ui-monospace, "JetBrains Mono", "Cascadia Code", "DejaVu Sans Mono", monospace;
}

html, body, #__next, #page_wrapper, #inner_wrapper {
  background-color: var(--nr-bg) !important;
  color: var(--nr-text) !important;
}
body {
  background-image:
    radial-gradient(ellipse 60% 40% at 15% 0%, rgba(255, 43, 214, 0.14), transparent 70%),
    radial-gradient(ellipse 60% 45% at 95% 100%, rgba(0, 240, 255, 0.12), transparent 70%),
    linear-gradient(rgba(0, 240, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.035) 1px, transparent 1px) !important;
  background-size: auto, auto, 48px 48px, 48px 48px !important;
  background-attachment: fixed !important;
}
#page_wrapper, #inner_wrapper { background-color: transparent !important; }

/* hero logo */
#inner_wrapper > .container::before {
  content: "";
  display: block;
  height: 110px;
  margin: 36px auto 0;
  width: min(420px, 80%);
  background: url("/images/wordmark.svg") center / contain no-repeat;
  flex: none;
}

/* hide the empty widget bar on the public page */
#information-widgets:has(> #widgets-wrap > #information-widgets-right:empty:only-child) {
  display: none;
}
#information-widgets {
  background: var(--nr-surface) !important;
  border: 1px solid var(--nr-border);
  border-radius: 6px !important;
  box-shadow: 0 0 24px rgba(0, 240, 255, 0.06) !important;
}

/* group headings */
.service-group-name {
  font-family: var(--nr-mono) !important;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.85rem !important;
  color: var(--nr-cyan) !important;
}
.service-group-name::before { content: "// "; color: var(--nr-magenta); }

/* service cards */
.service-card {
  background: var(--nr-surface) !important;
  border: 1px solid var(--nr-border);
  border-radius: 6px !important;
  box-shadow: none !important;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s !important;
}
.service-card:hover {
  border-color: var(--nr-cyan);
  box-shadow: 0 0 18px rgba(0, 240, 255, 0.25) !important;
  transform: translateY(-1px);
}
.service-name {
  font-family: var(--nr-mono) !important;
  color: var(--nr-text) !important;
  letter-spacing: 0.04em;
}
.service-description { color: var(--nr-muted) !important; }
.service-card .service-icon img { filter: drop-shadow(0 0 4px rgba(0, 240, 255, 0.35)); }

/* widgets and footer */
#information-widgets * { color: var(--nr-text) !important; }
#version, #version * , footer, footer * { color: var(--nr-muted) !important; }
::selection { background: var(--nr-magenta); color: #fff; }
.service[data-name="Ollama"] .service-icon img { filter: invert(1) drop-shadow(0 0 4px rgba(0, 240, 255, 0.35)); }
