/* SpaceX Design System Variables for KetBook */
:root {
  /* SpaceX Brand Colors */
  --spacex-blue: #0066ff;
  --spacex-blue-light: #3399ff;
  --spacex-blue-bright: #66b3ff;
  --spacex-blue-dark: #003d99;

  /* Space Black Palette */
  --space-black: #000000;
  --space-dark: #0a0a0a;
  --space-gray-900: #111111;
  --space-gray-800: #1a1a1a;
  --space-gray-700: #2a2a2a;

  /* Backgrounds */
  --bg-primary: var(--space-black);
  --bg-secondary: var(--space-dark);
  --bg-card: var(--space-gray-900);
  --bg-hover: var(--space-gray-800);

  /* Borders */
  --border-color: var(--space-gray-700);
  --card-bg: var(--space-gray-900);

  /* Text Colors */
  --text-primary: #ffffff;
  --text-secondary: #b0b0b0;
  --text-muted: #808080;
  --text-disabled: #4a4a4a;

  /* Glass Morphism */
  --glass-bg: rgb(255 255 255 / 0.03);
  --glass-border: rgb(255 255 255 / 0.1);
  --glass-backdrop: blur(12px);
  --glass-shadow: 0 8px 32px 0 rgb(0 0 0 / 0.37);

  /* Glows & Effects */
  --glow-blue: 0 0 20px rgb(0 102 255 / 0.3);
  --glow-blue-strong: 0 0 40px rgb(0 102 255 / 0.6);

  /* Accent with opacity (theme-overridable) */
  --accent-tint: rgb(0 102 255 / 0.1);
  --accent-border: rgb(0 102 255 / 0.2);
  --accent-glow: rgb(0 102 255 / 0.3);

  /* Overlay system (modals, backdrops, image overlays) */
  --overlay-light: rgb(0 0 0 / 0.5);
  --overlay-medium: rgb(0 0 0 / 0.7);
  --overlay-heavy: rgb(0 0 0 / 0.85);

  /* State Colors */
  --color-primary: var(--spacex-blue);
  --color-accent-light: var(--spacex-blue-light);
  --color-success: #10b981;
  --color-error: #ef4444;
  --color-warning: #f59e0b;
  --color-info: #3b82f6;
  --color-admin: #FFD700;

  /* State Tints (semi-transparent backgrounds for badges/pills) */
  --color-success-tint: rgb(16 185 129 / 0.15);
  --color-error-tint: rgb(239 68 68 / 0.15);
  --color-warning-tint: rgb(245 158 11 / 0.15);
  --color-info-tint: rgb(59 130 246 / 0.15);
  --color-error-tint-light: rgb(239 68 68 / 0.1);
  --color-error-border: rgb(239 68 68 / 0.3);
  --color-accent-tint-bg: rgb(from var(--spacex-blue) r g b / 0.1);

  /* Overlay colors (white/opaque for indicators on dark backgrounds) */
  --overlay-indicator: rgb(255 255 255 / 0.4);

  /* Typography System */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', 'SF Mono', Monaco, Consolas, monospace;

  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

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

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

  /* Border Radius */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-full: 9999px;

  /* Shadows — dark-theme appropriate */
  --shadow-sm: 0 1px 3px rgb(0 0 0 / 0.3);
  --shadow-md: 0 2px 6px rgb(0 0 0 / 0.4);
  --shadow-lg: 0 4px 12px rgb(0 0 0 / 0.5);
  --shadow-xl: 0 8px 24px rgb(0 0 0 / 0.6);

  /* Transitions */
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-snap: cubic-bezier(0.0, 0.0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --transition-fast: 150ms var(--ease-smooth);
  --transition-base: 200ms var(--ease-smooth);
  --transition-slow: 300ms var(--ease-smooth);

  /* Hover Transforms */
  --hover-lift-sm: translateY(-2px);
  --hover-lift-md: translateY(-4px);

  /* Typography Extended */
  --font-heading:           var(--font-family);
  --line-height-tight:      1.2;
  --letter-spacing-heading: -0.02em;
  --text-transform-heading: none;

  /* Component: Buttons */
  --btn-border:          none;
  --btn-radius:          var(--radius-md);
  --btn-shadow:          var(--glow-blue);
  --btn-hover-shadow:    var(--glow-blue-strong);
  --btn-hover-transform: translateY(-2px);

  /* Component: Cards */
  --card-border:          1px solid var(--glass-border);
  --card-radius:          var(--radius-xl);
  --card-shadow:          var(--glass-shadow);
  --card-hover-shadow:    var(--glow-blue);
  --card-hover-transform: translateY(-2px);

  /* Component: Inputs */
  --input-border:     1px solid var(--glass-border);
  --input-radius:     var(--radius-md);
  --input-focus-ring: 0 0 0 2px var(--accent-tint), var(--glow-blue);

  /* Component: Nav */
  --nav-bg:     var(--space-dark);
  --nav-border: 1px solid var(--glass-border);

  /* Component: Badges */
  --badge-radius: var(--radius-full);

  /* Dividers */
  --divider-width: 1px;
  --divider-style: solid;
  --divider-color: var(--glass-border);

  /* Content Widths */
  --width-narrow: 640px;
  --width-reading: 800px;
  --width-content: 960px;
  --width-default: 1200px;
  --width-wide: 1440px;

  /* Z-Index Scale — standard layering system */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal-backdrop: 900;
  --z-modal: 1000;
  --z-popover: 1100;
  --z-tooltip: 1200;
}

/* Global Reset & Base Styles */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-family);
  background: var(--space-black);
  color: var(--text-primary);
  min-height: 100vh;
  line-height: 1.6;
}
