@import "tailwindcss";

@theme {
  --color-brand: #c20600;
  --color-brand-light: #e01000;
  --color-bg-primary: #0a0a0a;
  --color-bg-secondary: #121212;
  --color-bg-tertiary: #1a1a1a;
  --color-bg-elevated: #202020;
  --color-text-primary: #d4d4d4;
  --color-text-secondary: #a3a3a3;
  --color-text-muted: #737373;
  --color-border-subtle: #1a1a1a;
  --color-border-default: #2a2a2a;
  --color-border-highlight: #3a3a3a;
  --color-green-glow: #00ff44;
  --color-cyan-glow: #00ffff;

  --font-mono: "Fira Code", "Courier New", Courier, monospace;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --spacing-header: 48px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 64px;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  line-height: 1.5;
  font-size: 14px;
  overflow-x: hidden;
}

#root {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
}

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

::-webkit-scrollbar-track {
  background: var(--color-bg-secondary);
}

::-webkit-scrollbar-thumb {
  background: var(--color-border-default);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-border-highlight);
}

/* ── Animations ─────────────────────────────────────────────── */
@keyframes pulse-glow {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}

@keyframes scan-line {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100vh); }
}

@keyframes data-stream {
  0% { background-position: 0% 0%; }
  100% { background-position: 0% 100%; }
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes status-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

.animate-pulse-glow {
  animation: pulse-glow 3s ease-in-out infinite;
}

.animate-fade-in-up {
  animation: fade-in-up 0.6s ease-out forwards;
}

.status-indicator {
  animation: status-blink 2s ease-in-out infinite;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── Section Dividers ──────────────────────────────────────── */
.section-divider {
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--color-border-default) 20%,
    var(--color-brand) 50%,
    var(--color-border-default) 80%,
    transparent 100%
  );
}

/* ── Feature Card Hover ────────────────────────────────────── */
.feature-card {
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.feature-card:hover {
  border-color: var(--color-border-highlight);
  background-color: var(--color-bg-tertiary);
}
