@import "tailwindcss";

/* ── Agentic Design System — Dark Theme (t2000 infrastructure) ── */

:root {
  /* Neutral scale */
  --n100: #FFFFFF;
  --n200: #F7F7F7;
  --n300: #E5E5E5;
  --n400: #CCCCCC;
  --n500: #8F8F8F;
  --n600: #707070;
  --n700: #363636;
  --n800: #191919;
  --n900: #000000;

  /* Semantic */
  --color-error: #D50000;
  --color-warning: #FF9800;
  --color-success: #3CC14E;
  --color-info: #0D9DFC;

  /* t2000 brand accent */
  --accent: #00D68F;
  --accent-dim: rgba(0, 214, 143, 0.12);
  --accent-glow: rgba(0, 214, 143, 0.25);

  /* Dark theme tokens */
  --background: var(--n900);
  --surface: var(--n800);
  --foreground: var(--n100);
  --muted: var(--n500);
  --dim: var(--n600);
  --border: var(--n700);
  --border-bright: var(--n600);

  /* Shadows (heavier for dark bg) */
  --shadow-card: 0 1px 3px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.2);
  --shadow-dropdown: 0 4px 12px rgba(0,0,0,0.4), 0 1px 3px rgba(0,0,0,0.3);
  --shadow-drawer: 0 8px 24px rgba(0,0,0,0.5), 0 2px 6px rgba(0,0,0,0.3);
  --shadow-modal: 0 16px 48px rgba(0,0,0,0.6), 0 4px 12px rgba(0,0,0,0.4);
}

@theme inline {
  --color-background: var(--background);
  --color-surface: var(--surface);
  --color-foreground: var(--foreground);
  --color-muted: var(--muted);
  --color-dim: var(--dim);
  --color-accent: var(--accent);
  --color-accent-dim: var(--accent-dim);
  --color-accent-glow: var(--accent-glow);
  --color-border: var(--border);
  --color-border-bright: var(--border-bright);
  --color-success: var(--color-success);
  --color-warning: var(--color-warning);
  --color-error: var(--color-error);
  --color-info: var(--color-info);
  --font-sans: var(--font-geist-sans);
  --font-mono: var(--font-geist-mono);
  --font-serif: var(--font-instrument-serif), ui-serif, Georgia, serif;
  --font-display: var(--font-instrument-serif), ui-serif, Georgia, serif;
  --color-panel: var(--surface);
}

html {
  overflow-x: hidden;
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-geist-sans), system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}

/* Noise overlay */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 1;
  opacity: 0.3;
}

/* Animations */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.8); }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes tickerScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.animate-blink { animation: blink 1s step-end infinite; }
.animate-fade-in-up { animation: fadeInUp 0.4s ease-out forwards; }
.animate-pulse-dot { animation: pulseDot 2s ease-in-out infinite; }
.animate-float { animation: float 4s ease-in-out infinite; }
.animate-ticker { animation: tickerScroll 30s linear infinite; }
.animate-ticker-reverse { animation: tickerScroll 40s linear infinite reverse; }
.animate-marquee { animation: tickerScroll 45s linear infinite; }
.animate-marquee-reverse { animation: tickerScroll 50s linear infinite reverse; }

.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}
