/**
 * CSS Custom Properties (Variables)
 * 
 * @package Hastika_Docs
 * @since 1.0.0
 */

:root {
  /* Colors - Light Mode */
  --color-primary: #6366f1;
  --color-primary-hover: #5558e3;
  --color-primary-active: #4749d5;
  --color-background: #ffffff;
  --color-surface: #f9fafb;
  --color-surface-alt: #f3f4f6;
  --color-border: #e5e7eb;
  --color-border-light: #f3f4f6;
  --color-text: #1f2937;
  --color-text-secondary: #6b7280;
  --color-text-tertiary: #9ca3af;
  --color-hover: #f3f4f6;
  --color-active: #e0e7ff;
  --color-code-bg: #f3f4f6;
  --color-code-text: #1f2937;
  --color-shadow: rgba(0, 0, 0, 0.1);
  --color-shadow-lg: rgba(0, 0, 0, 0.15);
  --color-overlay: rgba(0, 0, 0, 0.5);
  
  /* Semantic Colors */
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #3b82f6;
  
  /* Typography */
  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-family-mono: "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  
  --font-body: 13px;
  --font-sidebar: 12px;
  --font-metadata: 11px;
  --font-breadcrumb: 11px;
  --font-code: 12px;
  --font-h1: 24px;
  --font-h2: 18px;
  --font-h3: 15px;
  --font-h4: 14px;
  
  --line-height-base: 1.6;
  --line-height-heading: 1.3;
  --line-height-tight: 1.4;
  
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* Spacing */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 20px;
  --space-2xl: 24px;
  --space-3xl: 32px;
  --space-4xl: 48px;
  
  /* Border Radius */
  --radius-sm: 5px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  
  /* Layout */
  --header-height: 56px;
  --sidebar-width: 260px;
  --toc-width: 220px;
  --max-content-width: 1400px;
  --doc-max-width: 800px;
  
  /* Transitions */
  --transition-fast: 120ms ease;
  --transition-base: 180ms ease;
  --transition-slow: 300ms ease;
  
  /* Z-index */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-tooltip: 1070;
}

/* Dark Mode Variables */
[data-theme="dark"] {
  --color-primary: #818cf8;
  --color-primary-hover: #6366f1;
  --color-primary-active: #5558e3;
  --color-background: #111827;
  --color-surface: #1f2937;
  --color-surface-alt: #374151;
  --color-border: #374151;
  --color-border-light: #4b5563;
  --color-text: #f9fafb;
  --color-text-secondary: #d1d5db;
  --color-text-tertiary: #9ca3af;
  --color-hover: #374151;
  --color-active: #312e81;
  --color-code-bg: #1f2937;
  --color-code-text: #e5e7eb;
  --color-shadow: rgba(0, 0, 0, 0.3);
  --color-shadow-lg: rgba(0, 0, 0, 0.5);
  --color-overlay: rgba(0, 0, 0, 0.7);
  
  --color-success: #34d399;
  --color-warning: #fbbf24;
  --color-error: #f87171;
  --color-info: #60a5fa;
}

/* System Preference Fallback */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    --color-primary: #818cf8;
    --color-primary-hover: #6366f1;
    --color-primary-active: #5558e3;
    --color-background: #111827;
    --color-surface: #1f2937;
    --color-surface-alt: #374151;
    --color-border: #374151;
    --color-border-light: #4b5563;
    --color-text: #f9fafb;
    --color-text-secondary: #d1d5db;
    --color-text-tertiary: #9ca3af;
    --color-hover: #374151;
    --color-active: #312e81;
    --color-code-bg: #1f2937;
    --color-code-text: #e5e7eb;
    --color-shadow: rgba(0, 0, 0, 0.3);
    --color-shadow-lg: rgba(0, 0, 0, 0.5);
  }
}
