/* ============================================
   NOVA Design Tokens
   Extracted from wireframes + existing prototype
   ============================================ */

:root {
  /* ── Backgrounds ── */
  --nova-bg-void: #050817;
  --nova-bg-primary: #0a0c16;
  --nova-bg-secondary: #0d0f1a;
  --nova-bg-card: #111118;
  --nova-bg-elevated: #161622;
  --nova-bg-surface: rgba(10, 12, 28, 0.6);
  --nova-bg-surface-solid: rgba(15, 10, 35, 0.92);
  --nova-bg-overlay: rgba(5, 8, 23, 0.85);
  --nova-bg-sidebar: rgba(10, 12, 22, 0.55);
  --nova-bg-chat: rgba(10, 12, 28, 0.4);

  /* ── Accent Colors ── */
  --nova-accent-indigo: #6366f1;
  --nova-accent-purple: #8b5cf6;
  --nova-accent-violet: #a855f7;
  --nova-accent-light-violet: #c084fc;
  --nova-accent-cyan: #00f2fe;
  --nova-accent-gold: #ffd06a;
  --nova-accent-blue: #38bdf8;

  /* ── Gradients ── */
  --nova-gradient-primary: linear-gradient(135deg, #6366f1, #8b5cf6);
  --nova-gradient-cosmic: linear-gradient(135deg, #4a00e0, #8e2de2);
  --nova-gradient-text: linear-gradient(135deg, #6366f1, #8b5cf6, #c084fc);
  --nova-gradient-banner: linear-gradient(135deg, #6366f1, #8b5cf6, #00f2fe);
  --nova-gradient-user-msg: linear-gradient(135deg, #6366f1, #8b5cf6);

  /* ── Text ── */
  --nova-text-primary: #ffffff;
  --nova-text-secondary: rgba(200, 190, 255, 0.7);
  --nova-text-muted: rgba(200, 190, 255, 0.45);
  --nova-text-bright: #c0b2ff;
  --nova-text-nova: #d1f2ff;
  --nova-text-link: #818cf8;

  /* ── Borders ── */
  --nova-border: rgba(169, 102, 255, 0.18);
  --nova-border-hover: rgba(169, 102, 255, 0.35);
  --nova-border-active: rgba(99, 102, 241, 0.5);
  --nova-border-card: rgba(30, 30, 46, 0.8);

  /* ── Status ── */
  --nova-success: #22c55e;
  --nova-success-dim: rgba(34, 197, 94, 0.15);
  --nova-warning: #f59e0b;
  --nova-warning-dim: rgba(245, 158, 11, 0.15);
  --nova-danger: #ef4444;
  --nova-danger-dim: rgba(239, 68, 68, 0.15);
  --nova-info: #3b82f6;
  --nova-info-dim: rgba(59, 130, 246, 0.15);
  --nova-neutral: #64748b;
  --nova-neutral-dim: rgba(100, 116, 139, 0.15);

  /* ── Priority Colors ── */
  --nova-priority-high: #ef4444;
  --nova-priority-medium: #f59e0b;
  --nova-priority-low: #22c55e;

  /* ── Type Badge Colors ── */
  --nova-badge-project: #6366f1;
  --nova-badge-space: #22c55e;
  --nova-badge-person: #ec4899;
  --nova-badge-task: #f59e0b;
  --nova-badge-file: #64748b;

  /* ── Label Colors ── */
  --nova-label-design: #a855f7;
  --nova-label-backend: #3b82f6;
  --nova-label-frontend: #22c55e;
  --nova-label-ia: #f59e0b;
  --nova-label-security: #ef4444;
  --nova-label-devops: #06b6d4;

  /* ── Typography ── */
  --nova-font-primary: 'Inter', 'Segoe UI', system-ui, sans-serif;
  --nova-font-mono: 'JetBrains Mono', 'Courier New', monospace;
  --nova-font-display: 'Montserrat', 'Inter', sans-serif;

  --nova-text-xs: 0.75rem;
  --nova-text-sm: 0.8125rem;
  --nova-text-base: 0.875rem;
  --nova-text-md: 1rem;
  --nova-text-lg: 1.125rem;
  --nova-text-xl: 1.25rem;
  --nova-text-2xl: 1.5rem;
  --nova-text-3xl: 1.875rem;
  --nova-text-4xl: 2.25rem;

  --nova-weight-light: 300;
  --nova-weight-normal: 400;
  --nova-weight-medium: 500;
  --nova-weight-semibold: 600;
  --nova-weight-bold: 700;

  --nova-leading-tight: 1.25;
  --nova-leading-normal: 1.5;
  --nova-leading-relaxed: 1.75;

  /* ── Spacing Scale ── */
  --nova-space-0: 0;
  --nova-space-1: 0.25rem;
  --nova-space-2: 0.5rem;
  --nova-space-3: 0.75rem;
  --nova-space-4: 1rem;
  --nova-space-5: 1.25rem;
  --nova-space-6: 1.5rem;
  --nova-space-8: 2rem;
  --nova-space-10: 2.5rem;
  --nova-space-12: 3rem;
  --nova-space-16: 4rem;
  --nova-space-20: 5rem;

  /* ── Border Radius ── */
  --nova-radius-sm: 6px;
  --nova-radius-md: 8px;
  --nova-radius-lg: 12px;
  --nova-radius-xl: 16px;
  --nova-radius-2xl: 20px;
  --nova-radius-3xl: 24px;
  --nova-radius-full: 9999px;

  /* ── Shadows ── */
  --nova-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --nova-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --nova-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
  --nova-shadow-glow-indigo: 0 0 20px rgba(99, 102, 241, 0.3);
  --nova-shadow-glow-purple: 0 0 30px rgba(139, 92, 246, 0.25);
  --nova-shadow-glow-cyan: 0 0 20px rgba(0, 242, 254, 0.2);

  /* ── Transitions ── */
  --nova-duration-fast: 150ms;
  --nova-duration-normal: 250ms;
  --nova-duration-slow: 400ms;
  --nova-ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --nova-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Layout ── */
  --nova-sidebar-width: 260px;
  --nova-topbar-height: 64px;
  --nova-panel-width: 280px;
  --nova-chat-max-width: 850px;
  --nova-z-sidebar: 100;
  --nova-z-topbar: 90;
  --nova-z-modal: 1000;
  --nova-z-overlay: 9999;
  --nova-z-orb: 50;

  /* ── Orb Presets ── */
  --nova-orb-center: #4a00e0;
  --nova-orb-edge: #8e2de2;
  --nova-orb-glow: #00f2fe;
  --nova-orb-accent: #a855f7;

  /* ── Unread State ── */
  --nova-unread-bg: rgba(99, 102, 241, 0.08);
  --nova-unread-dot: #6366f1;

  /* ── Breakpoints ── */
  --nova-bp-desktop: 1024px;
  --nova-bp-tablet: 768px;
  --nova-bp-mobile: 640px;
}
