/* ═══════════════════════════════════════════════════════
   MERIDIAN — NexusOSINT Design System v1.0
   Concept: Night command station. Every pixel is signal.
═══════════════════════════════════════════════════════ */
:root {
  /* ── SURFACES ──
     Progression: deepest -> elevated
     All blues are desaturated to avoid "generic dark mode" */
  --color-bg-base:      #060810;
  --color-bg-recessed:  #0a0d14;
  --color-surface-1:    #0f1219;
  --color-surface-2:    #141822;
  --color-surface-3:    #1a1f2c;
  --color-surface-glass: rgba(15, 18, 25, 0.92);

  /* ── BORDERS ──
     3-tier system: structural -> interactive -> active */
  --color-border-subtle:  rgba(255, 255, 255, 0.06);
  --color-border-default: rgba(255, 255, 255, 0.10);
  --color-border-strong:  rgba(255, 255, 255, 0.18);

  /* ── ACCENT: AMBER ──
     Primary brand color. Signals "active", "primary action", "your data" */
  --color-accent:         #f0a030;
  --color-accent-hover:   #f5b04a;
  --color-accent-muted:   rgba(240, 160, 48, 0.12);
  --color-accent-border:  rgba(240, 160, 48, 0.28);
  --color-accent-glow:    rgba(240, 160, 48, 0.15);

  /* ── SEVERITY PALETTE ──
     Used for breach severity, threat indicators, status */
  --color-critical:        #ef4444;
  --color-critical-muted:  rgba(239, 68, 68, 0.10);
  --color-critical-border: rgba(239, 68, 68, 0.25);

  --color-high:            #f97316;
  --color-high-muted:      rgba(249, 115, 22, 0.10);
  --color-high-border:     rgba(249, 115, 22, 0.25);

  --color-medium:          #eab308;
  --color-medium-muted:    rgba(234, 179, 8, 0.10);
  --color-medium-border:   rgba(234, 179, 8, 0.25);

  --color-low:             #6b7280;
  --color-low-muted:       rgba(107, 114, 128, 0.10);
  --color-low-border:      rgba(107, 114, 128, 0.25);

  /* ── ERROR (distinct from severity — signals "lookup failed", not "threat") ── */
  --color-error:           #64748b;
  --color-error-muted:     rgba(100, 116, 139, 0.10);
  --color-error-border:    rgba(100, 116, 139, 0.25);

  /* ── SEMANTIC COLORS ── */
  --color-success:         #22c55e;
  --color-success-muted:   rgba(34, 197, 94, 0.10);
  --color-success-border:  rgba(34, 197, 94, 0.25);
  --color-info:            #3b82f6;
  --color-info-muted:      rgba(59, 130, 246, 0.10);
  --color-info-border:     rgba(59, 130, 246, 0.25);

  /* ── TEXT ──
     4-tier hierarchy: primary -> secondary -> tertiary -> disabled */
  --color-text-primary:    #e4e8f0;
  --color-text-secondary:  #8891a5;
  --color-text-tertiary:   #4a5168;
  --color-text-disabled:   #2d3348;

  /* ── TYPOGRAPHY ──
     Display: Space Grotesk — geometric, modern, readable at small sizes
     Data: JetBrains Mono — optimized for IPs, hashes, passwords, tabular data
     Body: Inter — maximum legibility for paragraphs */
  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-data:    'JetBrains Mono', 'Fira Code', monospace;
  --font-body:    'Inter', system-ui, sans-serif;

  /* Type scale (1.2 ratio, base 14px) */
  --text-2xs:  0.625rem;
  --text-xs:   0.6875rem;
  --text-sm:   0.75rem;
  --text-base: 0.875rem;
  --text-md:   1rem;
  --text-lg:   1.25rem;
  --text-xl:   1.75rem;
  --text-2xl:  2.25rem;

  /* Font weights */
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semi:   600;
  --weight-bold:   700;

  /* ── SPACING (base 8px) ── */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;

  /* ── RADIUS ──
     Tight = data-dense professional. No rounded-xl. */
  --radius-sm:   2px;
  --radius-md:   4px;
  --radius-lg:   6px;
  --radius-xl:   10px;
  --radius-pill: 999px;

  /* ── SHADOWS ──
     Subtle. Shadows communicate elevation, not decoration. */
  --shadow-xs:    0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-sm:    0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow-md:    0 4px 16px rgba(0, 0, 0, 0.5);
  --shadow-lg:    0 8px 32px rgba(0, 0, 0, 0.6);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  --shadow-glow:  0 0 20px var(--color-accent-glow);

  /* ── TRANSITIONS ── */
  --duration-fast: 120ms;
  --duration-mid:  200ms;
  --duration-slow: 350ms;
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:   cubic-bezier(0.4, 0, 0.2, 1);

  /* ── Z-INDEX SCALE ── */
  --z-base:    1;
  --z-sticky:  100;
  --z-overlay: 150;
  --z-panel:   151;
  --z-modal:   200;
  --z-toast:   999;
}
