/* ============================================================================
   BioForge v2 — Design Tokens
   Linear/Vercel-inspired aesthetic: clean, minimal, generous whitespace
   ============================================================================ */

:root {
  /* --------------------------------------------------------------------------
     Colors — Accent
     -------------------------------------------------------------------------- */
  --accent: #FF9900;
  --accent-hover: #EC7211;
  --accent-light: rgba(255, 153, 0, 0.1);
  --accent-muted: rgba(255, 153, 0, 0.2);

  /* --------------------------------------------------------------------------
     Colors — Primary (interactive blue)
     -------------------------------------------------------------------------- */
  --primary: #0073BB;
  --primary-hover: #005A94;
  --primary-light: rgba(0, 115, 187, 0.1);

  /* --------------------------------------------------------------------------
     Colors — Neutral Scale
     -------------------------------------------------------------------------- */
  --gray-50: #FAFAFA;
  --gray-100: #F5F5F5;
  --gray-200: #E5E5E5;
  --gray-300: #D4D4D4;
  --gray-400: #A3A3A3;
  --gray-500: #737373;
  --gray-600: #525252;
  --gray-700: #404040;
  --gray-800: #262626;
  --gray-900: #171717;
  --gray-950: #0A0A0A;

  /* --------------------------------------------------------------------------
     Colors — Semantic
     -------------------------------------------------------------------------- */
  --success: #10B981;
  --success-hover: #059669;
  --success-light: rgba(16, 185, 129, 0.1);

  --warning: #F59E0B;
  --warning-hover: #D97706;
  --warning-light: rgba(245, 158, 11, 0.1);

  --error: #EF4444;
  --error-hover: #DC2626;
  --error-light: rgba(239, 68, 68, 0.1);

  --info: #3B82F6;
  --info-hover: #2563EB;
  --info-light: rgba(59, 130, 246, 0.1);

  /* --------------------------------------------------------------------------
     Surfaces
     -------------------------------------------------------------------------- */
  --bg-app: #FAFAFA;
  --bg-surface: #FFFFFF;
  --bg-surface-raised: #F5F5F5;
  --bg-surface-overlay: rgba(255, 255, 255, 0.95);
  --bg-surface-hover: #F0F0F0;
  --bg-hover: rgba(0, 0, 0, 0.04);
  --bg-secondary: #F5F5F5;

  /* --------------------------------------------------------------------------
     Sidebar — adapts between light and dark mode
     -------------------------------------------------------------------------- */
  --bg-sidebar: #FFFFFF;
  --sidebar-text: #525252;
  --sidebar-text-strong: #171717;
  --sidebar-text-muted: #A3A3A3;
  --sidebar-border: #E5E5E5;
  --sidebar-hover-bg: rgba(0, 0, 0, 0.04);
  --sidebar-active-bg: rgba(255, 153, 0, 0.08);
  --sidebar-active-text: #EC7211;
  --sidebar-active-border: #FF9900;

  /* --------------------------------------------------------------------------
     Text
     -------------------------------------------------------------------------- */
  --text-primary: #171717;
  --text-secondary: #525252;
  --text-tertiary: #A3A3A3;
  --text-inverse: #FFFFFF;
  --text-accent: #0073BB;

  /* --------------------------------------------------------------------------
     Borders
     -------------------------------------------------------------------------- */
  --border-primary: #E5E5E5;
  --border-secondary: #F0F0F0;
  --border-focus: #0073BB;

  /* --------------------------------------------------------------------------
     Typography — Font Families
     -------------------------------------------------------------------------- */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;

  /* --------------------------------------------------------------------------
     Typography — Font Sizes
     -------------------------------------------------------------------------- */
  --text-xs: 11px;
  --text-sm: 12px;
  --text-base: 13px;
  --text-md: 14px;
  --text-lg: 16px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 32px;
  --text-4xl: 40px;

  /* --------------------------------------------------------------------------
     Typography — Font Weights
     -------------------------------------------------------------------------- */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* --------------------------------------------------------------------------
     Typography — Line Heights
     -------------------------------------------------------------------------- */
  --leading-tight: 1.2;
  --leading-normal: 1.5;
  --leading-relaxed: 1.6;

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

  /* --------------------------------------------------------------------------
     Border Radius
     -------------------------------------------------------------------------- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* --------------------------------------------------------------------------
     Shadows
     -------------------------------------------------------------------------- */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06),
               0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.05),
               0 2px 4px rgba(0, 0, 0, 0.03);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.06),
               0 4px 6px rgba(0, 0, 0, 0.04);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.08),
               0 8px 10px rgba(0, 0, 0, 0.04);

  /* --------------------------------------------------------------------------
     Transitions
     -------------------------------------------------------------------------- */
  --transition-fast: 100ms ease;
  --transition-base: 150ms ease;
  --transition-slow: 250ms ease;
  --transition-spring: 250ms cubic-bezier(0.16, 1, 0.3, 1);

  /* --------------------------------------------------------------------------
     Z-Index Scale
     -------------------------------------------------------------------------- */
  --z-base: 1;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-modal: 50;
  --z-toast: 60;
  --z-tooltip: 70;
  --z-command: 80;
}

/* ============================================================================
   Dark Theme
   Surfaces flip to dark grays, text to light grays.
   Accent, semantic, and sidebar colors remain the same.
   ============================================================================ */

[data-theme="dark"] {
  /* Surfaces — Zinc scale for modern dark UI (Vercel/Linear aesthetic) */
  --bg-app: #09090B;
  --bg-surface: #18181B;
  --bg-surface-raised: #27272A;
  --bg-surface-overlay: rgba(24, 24, 27, 0.95);
  --bg-surface-hover: #2C2C30;
  --bg-hover: rgba(255, 255, 255, 0.06);
  --bg-secondary: #27272A;

  /* Sidebar — slightly lighter than app bg for depth, no navy */
  --bg-sidebar: #111113;
  --sidebar-text: rgba(255, 255, 255, 0.6);
  --sidebar-text-strong: #FAFAFA;
  --sidebar-text-muted: rgba(255, 255, 255, 0.35);
  --sidebar-border: rgba(255, 255, 255, 0.08);
  --sidebar-hover-bg: rgba(255, 255, 255, 0.06);
  --sidebar-active-bg: rgba(255, 153, 0, 0.12);
  --sidebar-active-text: #FF9900;
  --sidebar-active-border: #FF9900;

  /* Text */
  --text-primary: #FAFAFA;
  --text-secondary: #A1A1AA;
  --text-tertiary: #52525B;
  --text-inverse: #18181B;
  --text-accent: #60A5FA;

  /* Borders — zinc tones */
  --border-primary: #27272A;
  --border-secondary: #1F1F23;
  --border-focus: #60A5FA;

  /* Neutral overrides */
  --gray-50: #09090B;
  --gray-100: #18181B;
  --gray-200: #27272A;
  --gray-300: #3F3F46;
  --gray-400: #52525B;
  --gray-500: #71717A;
  --gray-600: #A1A1AA;
  --gray-700: #D4D4D8;
  --gray-800: #E4E4E7;
  --gray-900: #F4F4F5;
  --gray-950: #FAFAFA;

  /* Shadows — subtle warmth */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.35),
               0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.35),
               0 2px 4px rgba(0, 0, 0, 0.2);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4),
               0 4px 6px rgba(0, 0, 0, 0.25);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.45),
               0 8px 10px rgba(0, 0, 0, 0.25);
}
