/* CSS Custom Properties: Theme, Colors, Fonts, Spacing, etc. */
:root {
  /* Colors */
  --coverage-contour-color: #fff176;
  --color-primary: #00d9e9;
  --color-secondary: #ff8c00;
  --color-bg-dark: #08141a;
  --color-bg-panel: #2c3136;
  --color-border: #5f6f7e;
  --color-text-light: #e9ecef;
  --color-text-muted: #adb5bd;
  --color-body-bg: #023047;
  --color-scrollbar-track: #1a1d20;
  --color-shadow: rgba(0,0,0,0.5);
  --color-overlay: rgba(0,0,0,0.4);
  --color-panel-overlay: rgba(0,0,0,0.3);
  --color-tooltip-bg: rgba(44, 49, 54, 0.95);
  --color-primary-glow-60: rgba(0, 217, 233, 0.6);
  --color-primary-glow-50: rgba(0, 217, 233, 0.5);
  --color-primary-glow-30: rgba(0, 217, 233, 0.3);
  --color-primary-glow-20: rgba(0, 217, 233, 0.2);
  --color-secondary-glow-60: rgba(255, 140, 0, 0.6);
  --color-secondary-glow-50: rgba(255, 140, 0, 0.5);
  --color-secondary-glow-30: rgba(255, 140, 0, 0.3);
  --color-secondary-glow-20: rgba(255, 140, 0, 0.2);
  --color-shadow-heavy: rgba(0,0,0,0.8);

  /* Typography */
  --font-primary: 'Orbitron', sans-serif;
  --font-secondary: 'Inter', sans-serif;
  --font-mono: 'Fira Code', monospace;
  --font-horror: 'Creepster', cursive;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --font-size-base: 14px;
  --font-size-lg: 16px;
  --font-size-xl: 18px;
  --text-shadow-primary: 0 0 5px var(--color-primary);
  --text-shadow-secondary: 0 0 5px var(--color-secondary);
  --text-shadow-glow: 0 0 10px currentColor;
  --text-shadow-horror: 2px 2px 4px rgba(0,0,0,0.8);
  --letter-spacing-normal: 0.5px;
  --letter-spacing-wide: 2px;
  --letter-spacing-ultra: 4px;

  /* Spacing */
  --spacing-xs: 6px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 20px;
  --spacing-xl: 24px;

  /* Borders & Radius */
  --border-radius-sm: 4px;
  --border-radius-md: 6px;
  --border-radius-lg: 8px;
  --border-width: 2px;
  --border-style: solid;

  /* Box Shadows */
  --box-shadow-glow: 0 0 15px var(--color-primary-glow-50);
  --box-shadow-heavy: 0 10px 30px var(--color-shadow-heavy);
  --box-shadow-retro: 4px 4px 0px var(--color-primary);
  --box-shadow-horror: 0 0 20px rgba(255,0,0,0.5), inset 0 0 20px rgba(0,0,0,0.8);

  /* Animation & Effects */
  --transition-speed: 0.3s;
  --transition-fast: 0.15s;
  --transition-slow: 0.6s;
  --animation-intensity: normal;
  --glow-intensity: 1;
  --shadow-spread: 1;

  /* Z-Index */
  --z-tooltip: 1000;
  --z-theme-scanlines: 9999;
  --z-theme-retro-grid: 9998;
  --z-top-controls: 2000;
  --z-theme-picker: 2001;

  /* Special Effects */
  --scanline-opacity: 0;
  --noise-opacity: 0;
  --distortion-amount: 0;
  --flicker-intensity: 0;

  /* Canvas/Map/Receiver/HUD */
  --canvas-bg-color: #08141a;
  --canvas-padding: 40px;
  --map-stroke-color: #00d9e9;
  --map-line-width: 2;
  --map-shadow-color: #00d9e9;
  --map-shadow-blur: 10;
  --receiver-radius: 4;
  --receiver-fill-color: #ff8c00;
  --receiver-stroke-color: #ffffff;
  --receiver-line-width: 1;
  --receiver-shadow-color: #ff8c00;
  --receiver-shadow-blur: 15;
  --hud-stroke-color: #e9ecef;
  --hud-fill-color: #e9ecef;
  --hud-font: 16px Orbitron;
  --hud-shadow-color: #e9ecef;
  --hud-shadow-blur: 5;

  /* Panel Styling */
  --panel-style: modern;
  --corner-style: rounded;
}
