/* Hacker theme — CRT terminal effects
   Colors come from CSS variables in themes.css; this file is structural only. */

/* Scanline overlay */
[data-theme='hacker'] body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9998;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0px,
    transparent 2px,
    rgba(0, 0, 0, 0.08) 2px,
    rgba(0, 0, 0, 0.08) 4px
  );
}

/* Subtle glow on headings only (not body text — causes blur) */
[data-theme='hacker'] h1, [data-theme='hacker'] h2, [data-theme='hacker'] h3 {
  text-shadow: 0 0 8px rgba(0, 255, 65, 0.25);
}

/* Monospace everything */
[data-theme='hacker'] body,
[data-theme='hacker'] input,
[data-theme='hacker'] select,
[data-theme='hacker'] textarea,
[data-theme='hacker'] button,
[data-theme='hacker'] .btn,
[data-theme='hacker'] .nav-link,
[data-theme='hacker'] .dropdown-item,
[data-theme='hacker'] h1,
[data-theme='hacker'] h2,
[data-theme='hacker'] h3,
[data-theme='hacker'] h4,
[data-theme='hacker'] h5,
[data-theme='hacker'] h6 {
  font-family: 'Courier New', Courier, monospace !important;
}

/* Blinking cursor on inputs */
[data-theme='hacker'] input:focus,
[data-theme='hacker'] textarea:focus {
  caret-color: var(--primary);
  animation: hacker-blink 1s step-end infinite;
}

@keyframes hacker-blink {
  0%, 100% { border-color: var(--primary); }
  50% { border-color: transparent; }
}

/* Tables: pipe-and-dash ASCII borders */
[data-theme='hacker'] .table {
  border-collapse: collapse;
}

[data-theme='hacker'] .table th,
[data-theme='hacker'] .table td {
  border: 1px dashed var(--border, #333);
  font-family: 'Courier New', Courier, monospace !important;
}

/* Remove rounded corners */
[data-theme='hacker'] .card,
[data-theme='hacker'] .btn,
[data-theme='hacker'] .badge,
[data-theme='hacker'] .alert,
[data-theme='hacker'] input,
[data-theme='hacker'] select,
[data-theme='hacker'] .form-control,
[data-theme='hacker'] .form-select {
  border-radius: 0 !important;
}
