/* base.css — converted from src/index.css (global tokens shared by every page) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@500;700&display=swap');

:root {
  --color-accent-50: #eef2ff; --color-accent-100: #e0e7ff; --color-accent-200: #c7d2fe;
  --color-accent-300: #a5b4fc; --color-accent-400: #818cf8; --color-accent-500: #6366f1;
  --color-accent-600: #4f46e5; --color-accent-900: #312e81; --color-accent-950: #1e1b4b;
}

:root[data-theme="emerald"] {
  --color-accent-50: #ecfdf5; --color-accent-100: #d1fae5; --color-accent-200: #a7f3d0;
  --color-accent-300: #6ee7b7; --color-accent-400: #34d399; --color-accent-500: #10b981;
  --color-accent-600: #059669; --color-accent-900: #064e3b; --color-accent-950: #022c22;
}

:root[data-theme="rose"] {
  --color-accent-50: #fff1f2; --color-accent-100: #ffe4e6; --color-accent-200: #fecdd3;
  --color-accent-300: #fda4af; --color-accent-400: #fb7185; --color-accent-500: #f43f5e;
  --color-accent-600: #e11d48; --color-accent-900: #881337; --color-accent-950: #4c0519;
}

:root[data-theme="amber"] {
  --color-accent-50: #fffbeb; --color-accent-100: #fef3c7; --color-accent-200: #fde68a;
  --color-accent-300: #fcd34d; --color-accent-400: #fbbf24; --color-accent-500: #f59e0b;
  --color-accent-600: #d97706; --color-accent-900: #78350f; --color-accent-950: #451a03;
}

body {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  background-color: #020617;
  color: #f8fafc;
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Space Grotesk', ui-sans-serif, system-ui;
}

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

/* Custom Scrollbar for Dark Theme */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #0f172a; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

.animate-marquee { animation: marquee 60s linear infinite; }
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

@keyframes shimmer {
  100% { transform: translateX(100%); }
}
.animate-\[shimmer_2s_infinite\] { animation: shimmer 2s infinite; }
.animate-\[shimmer_2\.5s_infinite\] { animation: shimmer 2.5s infinite; }

#scroll-progress { transition: transform 0.15s ease-out; }

/* Shared polish utilities used across pages */
.page-fade-in {
  animation: pageFadeIn 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes pageFadeIn {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

.elevate-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.elevate-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px -12px rgba(0, 0, 0, 0.5);
  border-color: rgba(99, 102, 241, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .page-fade-in { animation: none; }
  .elevate-card:hover { transform: none; }
}
