* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Space Grotesk', sans-serif;
  background: #0a0a0a;
  color: #fff;
}

.font-mono {
  font-family: 'JetBrains Mono', monospace;
}

/* Scanlines */
.scanlines {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 100;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.03) 0px,
    rgba(0, 0, 0, 0.03) 1px,
    transparent 1px,
    transparent 2px
  );
}

/* Glitch Text */
.glitch-text {
  position: relative;
  background: linear-gradient(90deg, #00ff41, #00d4ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.glitch-active {
  animation: glitch 0.1s linear;
}

@keyframes glitch {
  0% { transform: translate(0); }
  20% { transform: translate(-2px, 2px); }
  40% { transform: translate(-2px, -2px); }
  60% { transform: translate(2px, 2px); }
  80% { transform: translate(2px, -2px); }
  100% { transform: translate(0); }
}

/* Glow Button */
.glow-button {
  position: relative;
  overflow: hidden;
}

.glow-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.2), transparent);
  animation: shimmer 3s infinite;
}

@keyframes shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

/* Redacted Text */
.redacted-text {
  position: relative;
}

.redacted-text::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    90deg,
    #1a1a1a 0px,
    #1a1a1a 8px,
    transparent 8px,
    transparent 10px
  );
  animation: redact-flicker 0.5s infinite;
}

@keyframes redact-flicker {
  0%, 100% { opacity: 0.9; }
  50% { opacity: 0.7; }
}

/* Max Paranoia Mode */
.max-paranoia {
  animation: screen-flicker 4s infinite;
}

.max-paranoia .scanlines {
  background: repeating-linear-gradient(
    0deg,
    rgba(255, 0, 64, 0.05) 0px,
    rgba(255, 0, 64, 0.05) 1px,
    transparent 1px,
    transparent 2px
  );
}

@keyframes screen-flicker {
  0%, 100% { filter: brightness(1) hue-rotate(0deg); }
  92% { filter: brightness(1) hue-rotate(0deg); }
  93% { filter: brightness(1.1) hue-rotate(5deg); }
  94% { filter: brightness(0.9) hue-rotate(-5deg); }
  95% { filter: brightness(1) hue-rotate(0deg); }
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #0a0a0a;
}

::-webkit-scrollbar-thumb {
  background: #00d4ff33;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #00d4ff66;
}

/* Responsive */
@media (max-width: 768px) {
  .scanlines {
    background: repeating-linear-gradient(
      0deg,
      rgba(0, 0, 0, 0.02) 0px,
      rgba(0, 0, 0, 0.02) 1px,
      transparent 1px,
      transparent 3px
    );
  }
}

/* Focus styles */
textarea:focus {
  box-shadow: 0 0 0 2px rgba(0, 212, 255, 0.3);
}

/* Animations */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 5px currentColor; }
  50% { box-shadow: 0 0 20px currentColor; }
}

.animate-pulse-glow {
  animation: pulse-glow 2s infinite;
}