/* ====================================================================
   PredTerminal Design System
   A clean, data-focused aesthetic for prediction market intelligence.
   Inspired by Bloomberg Terminal meets modern SaaS.
   ==================================================================== */

:root {
  /* ── Color Palette ────────────────────────────────────────────── */

  /* Base backgrounds — deep navy to slate */
  --pm-bg-primary: #0b1120;
  --pm-bg-secondary: #111827;
  --pm-bg-tertiary: #1a2332;
  --pm-bg-surface: #1e293b;
  --pm-bg-overlay: rgba(17, 24, 39, 0.95);
  --pm-bg-hover: rgba(30, 41, 59, 0.6);
  --pm-bg-muted: #1e293b;

  /* Accent — teal/cyan (prediction-market-native) */
  --pm-accent: #06b6d4;
  --pm-accent-hover: #0891b2;
  --pm-accent-light: rgba(6, 182, 212, 0.12);
  --pm-accent-muted: rgba(6, 182, 212, 0.25);

  /* Secondary accent — amber/gold for highlights */
  --pm-gold: #f59e0b;
  --pm-gold-light: rgba(245, 158, 11, 0.12);
  --pm-gold-muted: rgba(245, 158, 11, 0.25);

  /* Text */
  --pm-text-primary: #f1f5f9;
  --pm-text-secondary: #cbd5e1;
  --pm-text-muted: #64748b;
  --pm-text-dim: #475569;

  /* Borders */
  --pm-border-primary: rgba(51, 65, 85, 0.6);
  --pm-border-secondary: rgba(51, 65, 85, 0.3);
  --pm-border-accent: rgba(6, 182, 212, 0.3);

  /* Semantic colors */
  --pm-success: #10b981;
  --pm-success-light: rgba(16, 185, 129, 0.12);
  --pm-danger: #ef4444;
  --pm-danger-light: rgba(239, 68, 68, 0.12);
  --pm-warning: #f59e0b;
  --pm-warning-light: rgba(245, 158, 11, 0.12);
  --pm-info: #3b82f6;
  --pm-info-light: rgba(59, 130, 246, 0.12);

  /* YES/NO specific (prediction market standard) */
  --pm-yes: #10b981;
  --pm-yes-bg: rgba(16, 185, 129, 0.12);
  --pm-no: #ef4444;
  --pm-no-bg: rgba(239, 68, 68, 0.12);

  /* Platform colors */
  --pm-polymarket: #3b82f6;
  --pm-polymarket-bg: rgba(59, 130, 246, 0.12);
  --pm-kalshi: #8b5cf6;
  --pm-kalshi-bg: rgba(139, 92, 246, 0.12);

  /* ── Typography ───────────────────────────────────────────────── */
  --pm-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --pm-font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;

  --pm-text-xs: 0.7rem;
  --pm-text-sm: 0.8rem;
  --pm-text-base: 0.875rem;
  --pm-text-md: 0.95rem;
  --pm-text-lg: 1.125rem;
  --pm-text-xl: 1.5rem;
  --pm-text-2xl: 2rem;
  --pm-text-3xl: 2.5rem;
  --pm-text-4xl: 3.5rem;

  /* ── Spacing Scale ────────────────────────────────────────────── */
  --pm-space-1: 4px;
  --pm-space-2: 8px;
  --pm-space-3: 12px;
  --pm-space-4: 16px;
  --pm-space-5: 20px;
  --pm-space-6: 24px;
  --pm-space-8: 32px;
  --pm-space-10: 40px;
  --pm-space-12: 48px;
  --pm-space-16: 64px;

  /* ── Border Radius ────────────────────────────────────────────── */
  --pm-radius-sm: 4px;
  --pm-radius-md: 6px;
  --pm-radius-lg: 10px;
  --pm-radius-xl: 14px;
  --pm-radius-2xl: 18px;
  --pm-radius-full: 9999px;

  /* ── Shadows ──────────────────────────────────────────────────── */
  --pm-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
  --pm-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.25);
  --pm-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.3);
  --pm-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.4);
  --pm-shadow-glow: 0 0 20px rgba(6, 182, 212, 0.15);

  /* ── Transitions ──────────────────────────────────────────────── */
  --pm-transition-fast: 0.1s ease;
  --pm-transition-normal: 0.2s ease;
  --pm-transition-slow: 0.3s ease;

  /* ── Z-Index Scale ────────────────────────────────────────────── */
  --pm-z-dropdown: 100;
  --pm-z-sticky: 200;
  --pm-z-overlay: 300;
  --pm-z-modal: 400;
  --pm-z-toast: 500;
}

/* ── Global Resets ────────────────────────────────────────────────── */

body {
  background: var(--pm-bg-primary) !important;
  color: var(--pm-text-primary);
  font-family: var(--pm-font-sans);
  font-size: var(--pm-text-base);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--pm-accent);
  text-decoration: none;
  transition: color var(--pm-transition-fast);
}

a:hover {
  color: var(--pm-accent-hover);
}

::selection {
  background: var(--pm-accent-muted);
  color: var(--pm-text-primary);
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

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

::-webkit-scrollbar-thumb {
  background: var(--pm-border-primary);
  border-radius: var(--pm-radius-full);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--pm-text-muted);
}

/* ── Utility Classes ─────────────────────────────────────────────── */

.pm-text-yes { color: var(--pm-yes) !important; }
.pm-text-no { color: var(--pm-no) !important; }
.pm-text-accent { color: var(--pm-accent) !important; }
.pm-text-gold { color: var(--pm-gold) !important; }
.pm-text-muted { color: var(--pm-text-muted) !important; }
.pm-text-dim { color: var(--pm-text-dim) !important; }
.pm-text-polymarket { color: var(--pm-polymarket) !important; }
.pm-text-kalshi { color: var(--pm-kalshi) !important; }

.pm-bg-yes { background: var(--pm-yes-bg) !important; }
.pm-bg-no { background: var(--pm-no-bg) !important; }
.pm-bg-polymarket { background: var(--pm-polymarket-bg) !important; }
.pm-bg-kalshi { background: var(--pm-kalshi-bg) !important; }
.pm-bg-surface { background: var(--pm-bg-surface) !important; }
.pm-bg-tertiary { background: var(--pm-bg-tertiary) !important; }

.pm-font-mono { font-family: var(--pm-font-mono) !important; }

/* Gradient background used across pages */
.pm-gradient-bg {
  background: linear-gradient(180deg, var(--pm-bg-primary) 0%, var(--pm-bg-secondary) 100%);
}
