/* variables.css - Core Design Tokens for Sipbite.fun */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  /* Font Families */
  --font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Theme Transitions */
  --transition-speed: 0.25s;
  --transition-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-theme: var(--transition-speed) var(--transition-ease);

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

  /* Border Radii */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-round: 9999px;

  /* Max Layout Width */
  --container-width: 1280px;
  --sidebar-width: 320px;

  /* Accessibility Defaults */
  --font-scale: 1;

  /* Base Colors (Shared) */
  --color-white: #ffffff;
  --color-black: #0f172a;
  --color-danger: #ef4444;
  --color-warning: #f59e0b;
  --color-info: #0ea5e9;

  /* HSL Color Tokens for Light Mode */
  --primary-h: 215;
  --primary-s: 80%;
  --primary-l: 28%; /* #0f3d7a Deep Gov Blue */
  --accent-h: 142;
  --accent-s: 72%;
  --accent-l: 29%;  /* #15803d Green Accent */

  --bg-primary: #f8fafc;
  --bg-secondary: #f1f5f9;
  --bg-surface: #ffffff;
  --bg-surface-hover: #f8fafc;

  --border-color: #e2e8f0;
  --border-hover: #cbd5e1;

  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-tertiary: #64748b;
  --text-on-primary: #ffffff;

  /* Highlight colors */
  --primary-light: hsl(var(--primary-h), var(--primary-s), 95%);
  --accent-light: hsl(var(--accent-h), var(--accent-s), 95%);

  --color-primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l));
  --color-primary-hover: hsl(var(--primary-h), var(--primary-s), calc(var(--primary-l) - 6%));
  --color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));
  --color-accent-hover: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 6%));
}

/* Dark Mode Tokens */
body.dark-mode {
  --bg-primary: #0b0f19;
  --bg-secondary: #121826;
  --bg-surface: #192132;
  --bg-surface-hover: #1e293b;

  --border-color: #2e3b4e;
  --border-hover: #3b4e68;

  --text-primary: #f8fafc;
  --text-secondary: #cbd5e1;
  --text-tertiary: #94a3b8;
  --text-on-primary: #0b0f19;

  --primary-l: 60%; /* Lighter blue for dark contrast */
  --accent-l: 50%;  /* Lighter green for dark contrast */

  --primary-light: rgba(59, 130, 246, 0.15);
  --accent-light: rgba(34, 197, 94, 0.15);

  --color-primary: hsl(var(--primary-h), 90%, 65%);
  --color-primary-hover: hsl(var(--primary-h), 90%, 75%);
  --color-accent: hsl(var(--accent-h), 80%, 55%);
  --color-accent-hover: hsl(var(--accent-h), 80%, 65%);
}

/* High Contrast Mode Tokens */
body.high-contrast {
  --bg-primary: #000000 !important;
  --bg-secondary: #000000 !important;
  --bg-surface: #000000 !important;
  --bg-surface-hover: #111111 !important;

  --border-color: #ffffff !important;
  --border-hover: #ffffff !important;

  --text-primary: #ffffff !important;
  --text-secondary: #ffffff !important;
  --text-tertiary: #ffff00 !important; /* Yellow for highlights */
  --text-on-primary: #000000 !important;

  --color-primary: #ffff00 !important;
  --color-primary-hover: #ffffff !important;
  --color-accent: #00ffff !important;
  --color-accent-hover: #ffffff !important;

  --primary-light: rgba(255, 255, 0, 0.2) !important;
  --accent-light: rgba(0, 255, 255, 0.2) !important;
}

/* Accessible Font Scales */
body.font-lg {
  --font-scale: 1.15;
}

body.font-xl {
  --font-scale: 1.3;
}
