:root {
  --color-body: #0f172a;
  --color-box-body: #1e293b;
  --color-box-body-highlight: #283548;
  --color-box-header: #1a2333;

  /* Text */
  --color-text: #f1f5f9;
  --color-text-light: #e2e8f0;
  --color-text-light-1: #cbd5e1;
  --color-text-light-2: #94a3b8;
  --color-text-light-3: #64748b;

  /* Primary — Nyx violet */
  --color-primary: #8b5cf6;
  --color-primary-dark-1: #7c3aed;
  --color-primary-dark-2: #6d28d9;
  --color-primary-light-1: #a78bfa;
  --color-primary-light-2: #c4b5fd;
  --color-primary-light-3: #ddd6fe;
  --color-primary-light-4: #ede9fe;
  --color-primary-light-5: #f5f3ff;
  --color-primary-contrast: #ffffff;

  /* Secondary — neutral slate borders */
  --color-secondary: #334155;
  --color-secondary-dark-1: #475569;
  --color-secondary-light-1: #1e293b;
  --color-secondary-light-2: #283548;
  --color-secondary-light-3: #334155;
  --color-secondary-light-4: #475569;

  /* Accents matching Nyx multi-color iconography */
  --color-red: #ec4899;       /* pink/magenta */
  --color-orange: #f97316;
  --color-yellow: #eab308;
  --color-green: #10b981;     /* teal-green */
  --color-cyan: #06b6d4;
  --color-blue: #3b82f6;
  --color-violet: #8b5cf6;

  /* Modern fonts */
  --fonts-proportional: 'Inter', 'Geist', -apple-system, BlinkMacSystemFont,
                        'Segoe UI', system-ui, sans-serif;
  --fonts-monospace: 'JetBrains Mono', 'Geist Mono', 'Fira Code',
                     ui-monospace, monospace;

  /* Subtle rounded corners */
  --border-radius: 8px;
  --border-radius-medium: 8px;
  --border-radius-full: 9999px;
}

/* Logo gradient effect (text logo) */
.ui.menu .item .navbar-logo,
.brand,
.ui.header .navbar-text {
  background: linear-gradient(135deg, #ec4899 0%, #06b6d4 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 700;
}

/* Subtle elevation on cards instead of hard borders */
.ui.card, .ui.segment, .repository-summary {
  background: var(--color-box-body) !important;
  border: 1px solid var(--color-secondary) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

/* Buttons */
.ui.button {
  border-radius: 8px !important;
  font-weight: 500 !important;
  transition: all 0.2s !important;
}
.ui.primary.button {
  background: var(--color-primary) !important;
  color: #fff !important;
  border: 1px solid var(--color-primary-dark-1) !important;
}
.ui.primary.button:hover {
  background: var(--color-primary-dark-1) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3) !important;
}

/* Pink notification badge to match Nyx */
.ui.label.red,
.notification-count {
  background: #ec4899 !important;
  color: #fff !important;
}

/* Inputs */
input, textarea, select, .ui.input input {
  background: var(--color-box-body-highlight) !important;
  border: 1px solid var(--color-secondary) !important;
  color: var(--color-text) !important;
  border-radius: 8px !important;
}
input:focus, textarea:focus, .ui.input input:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2) !important;
}

/* Top nav: dark with subtle border */
.full.height > .ui.menu,
#navbar {
  background: #0a0f1c !important;
  border-bottom: 1px solid var(--color-secondary) !important;
}

/* Links */
a {
  color: var(--color-primary-light-1);
}
a:hover {
  color: var(--color-primary-light-2);
}
