/* ═══════════════════════════════════════════════════════════════
   CSS CUSTOM PROPERTIES - Terminal CRT Theme
   ═══════════════════════════════════════════════════════════════
   
   Centralized theme variables for consistency across the site.
   Update these values to modify the entire theme.
   ═══════════════════════════════════════════════════════════════ */

:root {
    /* Primary Colors - Phosphor Green Palette */
    --phosphor-green: #00ff41;
    --phosphor-dim: #00cc33;
    --phosphor-glow: rgba(0, 255, 65, 0.4);

    /* Background Colors */
    --screen-bg: #0a0e0a;
    --terminal-bg: #0d120d;
    --crt-bezel: #1a1a1a;
    --card-bg: rgba(0, 0, 0, 0.4);

    /* Border & Outline Colors */
    --border-light: rgba(0, 255, 65, 0.2);
    --border-medium: rgba(0, 255, 65, 0.3);
    --border-strong: rgba(0, 255, 65, 0.4);

    /* Text Colors */
    --text-primary: #00ff41;
    --text-secondary: rgba(0, 255, 65, 0.8);
    --text-dim: rgba(0, 255, 65, 0.6);
    --text-muted: rgba(0, 255, 65, 0.5);

    /* Semantic Colors */
    --color-error: #ff4141;
    --color-warning: #ffcc00;
    --color-success: var(--phosphor-green);
    --color-info: var(--phosphor-dim);

    /* Interactive States */
    --hover-bg: rgba(0, 255, 65, 0.08);
    --hover-border: var(--phosphor-green);
    --active-bg: rgba(0, 255, 65, 0.15);
    --focus-glow: rgba(0, 255, 65, 0.3);

    /* Spacing */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;
    --spacing-3xl: 4rem;

    /* Gap Sizes (for Grid/Flexbox) */
    --gap-xs: 0.5rem;
    --gap-sm: 0.75rem;
    --gap-md: 1rem;
    --gap-lg: 1.5rem;
    --gap-xl: 2rem;

    /* Typography */
    --font-mono: "IBM Plex Mono", "Courier New", Courier, monospace;
    --font-size-xs: 0.65rem;
    --font-size-sm: 0.75rem;
    --font-size-base: 0.85rem;
    --font-size-md: 0.9rem;
    --font-size-lg: 1rem;
    --font-size-xl: 1.1rem;
    --font-size-2xl: 1.25rem;

    /* Line Heights */
    --line-height-tight: 1.2;
    --line-height-normal: 1.4;
    --line-height-relaxed: 1.6;

    /* Effects */
    --scanline-opacity: 0.08;
    --box-shadow-glow: 0 0 15px rgba(0, 255, 65, 0.15);
    --box-shadow-glow-strong: 0 0 20px rgba(0, 255, 65, 0.3);
    --text-shadow-subtle: 0 0 5px rgba(0, 255, 65, 0.3);
    --text-shadow-medium: 0 0 8px rgba(0, 255, 65, 0.4);
    --text-shadow-strong: 0 0 10px var(--phosphor-glow);

    /* Transitions */
    --transition-fast: 0.15s ease;
    --transition-base: 0.2s ease;
    --transition-slow: 0.3s ease;

    /* Border Widths */
    --border-thin: 1px;
    --border-base: 2px;
    --border-thick: 3px;

    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;

    /* Container Max-Widths (match utilities) */
    --container-narrow: 600px;
    --container-base: 900px;
    --container-md: 1000px;
    --container-wide: 1200px;
    --container-xl: 1400px;

    /* Breakpoints */
    --breakpoint-mobile: 480px;
    --breakpoint-tablet: 768px;
    --breakpoint-desktop: 1024px;
    --breakpoint-wide: 1200px;

    /* Z-index layers */
    --z-scanlines: 9999;
    --z-flicker: 9998;
    --z-modal: 1000;
    --z-dropdown: 100;
    --z-navbar: 10;
}