/* ==========================================================================
   RemoSync Theme: Hacker Dark
   ==========================================================================
   Philosophy: Terminal immersion. The classroom becomes an operations center.
   Phosphorescent green on black creates the sensation of being inside the system.
   Font: JetBrains Mono (monospace throughout)
   Emotion: Energy, technical immersion, exclusivity
   Context: Programming bootcamps, cybersecurity
   ==========================================================================

   WCAG 2.1 AA Contrast Ratios:
   --rs-text-primary   #00ff41 on #0a0a0a = 12.7:1  (PASS AA)
   --rs-text-secondary #00cc33 on #0a0a0a =  7.8:1  (PASS AA)
   --rs-text-muted     #007a1f on #0a0a0a =  3.3:1  (PASS AA-large)
   --rs-accent-primary #00ff41 on #0a0a0a = 12.7:1  (PASS AA)
   --rs-accent-secondary #00e5ff on #0a0a0a = 10.6:1 (PASS AA)
   ========================================================================== */

:root[data-rs-theme="hacker"][data-rs-mode="dark"] {
  /* --- Backgrounds --- */
  --rs-bg-primary:   #0a0a0a;
  --rs-bg-secondary: #0f0f0f;
  --rs-bg-tertiary:  #050505;

  /* --- Surfaces --- */
  --rs-surface-1: #121212;
  --rs-surface-2: #181818;
  --rs-surface-3: #1e1e1e;

  /* --- Text --- */
  --rs-text-primary:   #00ff41;
  --rs-text-secondary: #00cc33;
  --rs-text-muted:     #007a1f;
  --rs-text-inverse:   #0a0a0a;

  /* --- Accent --- */
  --rs-accent-primary: #00ff41;
  --rs-accent-hover:   #33ff66;
  --rs-accent-active:  #00cc33;
  --rs-accent-muted:   rgba(0, 255, 65, 0.1);

  /* --- Accent Secondary (Neon Cyan) --- */
  --rs-accent-secondary:       #00e5ff;
  --rs-accent-secondary-hover: #33ecff;

  /* --- Borders --- */
  --rs-border-default: #1a2e1a;
  --rs-border-subtle:  #0f1f0f;
  --rs-border-strong:  #00ff41;
  --rs-border-accent:  #00e5ff;

  /* --- Shadows and Glow --- */
  --rs-shadow-sm: 0 1px 3px rgba(0, 255, 65, 0.08);
  --rs-shadow-md: 0 4px 12px rgba(0, 255, 65, 0.12);
  --rs-shadow-lg: 0 8px 24px rgba(0, 255, 65, 0.16);
  --rs-glow-color: #00ff41;
  --rs-glow-secondary: #00e5ff;
  --rs-glow-text: 0 0 8px rgba(0, 255, 65, 0.5);
  --rs-glow-box: 0 0 12px rgba(0, 255, 65, 0.3);

  /* --- Overlay --- */
  --rs-overlay-bg: rgba(10, 10, 10, 0.92);

  /* --- Scan Line --- */
  --rs-scanline-color: rgba(0, 255, 65, 0.03);
  --rs-scanline-speed: 8s;

  /* --- Semantic States --- */
  --rs-success: #00ff41;
  --rs-warning: #ffb800;
  --rs-error:   #ff2d2d;
  --rs-info:    #00e5ff;

  /* --- Font Family (monospace) --- */
  --rs-font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  --rs-font-family-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  --rs-font-family-display: var(--rs-font-family);
}

/* --- Typography Overrides --- */
:root[data-rs-theme="hacker"][data-rs-mode="dark"] h1 {
  font-size: 2.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-shadow: var(--rs-glow-text);
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] h2,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] h3 {
  text-shadow: 0 0 6px rgba(0, 255, 65, 0.3);
}

/* --- Scan Lines Effect --- */
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-scanline-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    var(--rs-scanline-color) 2px,
    var(--rs-scanline-color) 4px
  );
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-scanline-beam {
  position: fixed;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(0, 255, 65, 0.06),
    transparent
  );
  animation: rs-scanline var(--rs-scanline-speed) linear infinite;
  pointer-events: none;
  z-index: 2;
}

/* --- Glow effects on interactive elements --- */
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--primary {
  box-shadow: var(--rs-glow-box);
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--primary:hover {
  box-shadow: 0 0 16px rgba(0, 255, 65, 0.4);
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-sidebar-link,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-sidebar-utility,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-dashboard-tool,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-bottom-nav__item {
  -webkit-text-fill-color: currentColor;
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--primary,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--primary:hover,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--primary:focus-visible {
  color: var(--rs-text-inverse);
  -webkit-text-fill-color: currentColor;
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--secondary,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--secondary:hover,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--secondary:focus-visible,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--ghost,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--ghost:hover,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-btn--ghost:focus-visible,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-sidebar-link:hover,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-sidebar-utility:hover,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-dashboard-tool:hover,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-bottom-nav__item:hover {
  color: var(--rs-text-primary);
  -webkit-text-fill-color: currentColor;
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] input:focus,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] select:focus,
:root[data-rs-theme="hacker"][data-rs-mode="dark"] textarea:focus {
  box-shadow: 0 0 0 3px rgba(0, 255, 65, 0.15), 0 0 12px rgba(0, 255, 65, 0.1);
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-card:hover {
  box-shadow: var(--rs-shadow-md), 0 0 8px rgba(0, 255, 65, 0.08);
}

/* --- Overlay Customization --- */
:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-overlay {
  border-top-color: #1a2e1a;
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-overlay-btn:hover {
  box-shadow: 0 0 8px rgba(0, 255, 65, 0.2);
}

:root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-overlay-btn--active {
  box-shadow: 0 0 12px rgba(0, 255, 65, 0.3);
}

/* --- Code blocks --- */
:root[data-rs-theme="hacker"][data-rs-mode="dark"] code {
  color: #00e5ff;
}

/* --- Responsive: disable scan lines on tablet, all effects on mobile --- */
@media (max-width: 1279px) {
  :root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-scanline-beam {
    animation: none;
  }
}

@media (max-width: 767px) {
  :root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-scanline-overlay,
  :root[data-rs-theme="hacker"][data-rs-mode="dark"] .rs-scanline-beam {
    display: none;
  }

  :root[data-rs-theme="hacker"][data-rs-mode="dark"] h1,
  :root[data-rs-theme="hacker"][data-rs-mode="dark"] h2,
  :root[data-rs-theme="hacker"][data-rs-mode="dark"] h3 {
    text-shadow: none;
  }

  :root[data-rs-theme="hacker"][data-rs-mode="dark"] h1 {
    font-size: 1.625rem;
  }
}
