/* ============================================
   BLOOMBERG TERMINAL - THEME SYSTEM
   ============================================ */

/* Base CSS Variables Structure */
:root {
    /* Color Palette - Bloomberg Dark */
    --bg-primary: #000000;
    --bg-secondary: #0d0d0d;
    --bg-tertiary: #1a1a1a;
    --bg-hover: #2a2a2a;
    --bg-panel: #0a0a0a;

    --text-primary: #ffffff;
    --text-secondary: #b0b0b0;
    --text-accent: #ff8c00;
    --text-dim: #666666;
    --text-bright: #00ffff;

    --border-primary: #ff8c00;
    --border-secondary: #333333;
    --border-tertiary: #1a1a1a;
    --border-glow: rgba(255, 140, 0, 0.4);

    --accent-primary: #ff8c00;
    --accent-secondary: #00ffff;
    --accent-tertiary: #00ff00;
    --accent-chart-1: #ff8c00;
    --accent-chart-2: #00ffff;
    --accent-chart-3: #00ff00;
    --accent-chart-4: #ff00ff;

    --success: #00ff00;
    --warning: #ffff00;
    --error: #ff0000;
    --info: #00ffff;
    --neutral: #b0b0b0;

    /* Effects */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
    --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.6);
    --shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.7);
    --shadow-inset: inset 0 1px 3px rgba(0, 0, 0, 0.5);
    --shadow-glow: 0 0 10px var(--border-glow);

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

    /* Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 0.75rem;
    --space-lg: 1rem;
    --space-xl: 1.5rem;
    --space-2xl: 2rem;

    /* Border Radius */
    --radius-none: 0;
    --radius-sm: 2px;
    --radius-md: 3px;

    /* Typography */
    --font-primary: 'Consolas', 'Courier New', 'Monaco', monospace;
    --font-secondary: 'Arial', 'Helvetica', sans-serif;

    --font-size-xs: 0.625rem;
    --font-size-sm: 0.75rem;
    --font-size-base: 0.875rem;
    --font-size-lg: 1rem;
    --font-size-xl: 1.125rem;
    --font-size-2xl: 1.25rem;
    --font-size-3xl: 1.5rem;
    --font-size-4xl: 2rem;

    /* Layout */
    --header-height: 32px;
    --toolbar-height: 36px;
    --panel-padding: var(--space-md);

    /* Current theme name for display */
    --theme-name: 'BLOOMBERG';
    --theme-emoji: '📊';
}

/* ============================================
   THEME: BLOOMBERG (Default)
   ============================================ */
[data-theme="bloomberg"] {
    --bg-primary: #000000;
    --bg-secondary: #0d0d0d;
    --bg-tertiary: #1a1a1a;
    --bg-hover: #2a2a2a;
    --bg-panel: #0a0a0a;

    --text-primary: #ffffff;
    --text-secondary: #b0b0b0;
    --text-accent: #ff8c00;
    --text-dim: #666666;
    --text-bright: #00ffff;

    --border-primary: #ff8c00;
    --border-secondary: #333333;
    --border-tertiary: #1a1a1a;

    --accent-primary: #ff8c00;
    --accent-secondary: #00ffff;
    --accent-tertiary: #00ff00;

    --success: #00ff00;
    --warning: #ffff00;
    --error: #ff0000;
    --info: #00ffff;

    --theme-name: 'BLOOMBERG';
    --theme-emoji: '📊';
}

/* ============================================
   THEME: DARK
   ============================================ */
[data-theme="dark"] {
    --bg-primary: #0a0a0a;
    --bg-secondary: #1a1a1a;
    --bg-tertiary: #2a2a2a;
    --bg-hover: #333333;
    --bg-panel: #151515;

    --text-primary: #e0e0e0;
    --text-secondary: #a0a0a0;
    --text-accent: #60a5fa;
    --text-dim: #707070;
    --text-bright: #ffffff;

    --border-primary: #3b82f6;
    --border-secondary: #2a2a2a;
    --border-tertiary: #1a1a1a;

    --accent-primary: #3b82f6;
    --accent-secondary: #60a5fa;
    --accent-tertiary: #818cf8;

    --success: #10b981;
    --warning: #f59e0b;
    --error: #ef4444;
    --info: #3b82f6;

    --theme-name: 'DARK';
    --theme-emoji: '🌙';
}

/* ============================================
   THEME: LIGHT TERMINAL
   ============================================ */
[data-theme="light"] {
    --bg-primary: #f0f0f0;
    --bg-secondary: #ffffff;
    --bg-tertiary: #e5e5e5;
    --bg-hover: #d0d0d0;
    --bg-panel: #fafafa;

    --text-primary: #000000;
    --text-secondary: #4a4a4a;
    --text-accent: #0066cc;
    --text-dim: #888888;
    --text-bright: #0066cc;

    --border-primary: #0066cc;
    --border-secondary: #cccccc;
    --border-tertiary: #e0e0e0;

    --accent-primary: #0066cc;
    --accent-secondary: #00aacc;
    --accent-tertiary: #cc6600;

    --success: #00aa00;
    --warning: #cc8800;
    --error: #cc0000;
    --info: #0066cc;

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.2);
    --shadow-inset: inset 0 1px 3px rgba(0, 0, 0, 0.1);

    --theme-name: 'LIGHT';
    --theme-emoji: '☀️';
}


/* ============================================
   THEME: GREEN
   ============================================ */
[data-theme="matrix"] {
    --bg-primary: #000000;
    --bg-secondary: #001100;
    --bg-tertiary: #002200;
    --bg-hover: #003300;
    --bg-panel: #000a00;

    --text-primary: #00ff00;
    --text-secondary: #00cc00;
    --text-accent: #00ff66;
    --text-dim: #006600;
    --text-bright: #66ff66;

    --border-primary: #00ff00;
    --border-secondary: #003300;
    --border-tertiary: #001a00;

    --accent-primary: #00ff00;
    --accent-secondary: #00ff66;
    --accent-tertiary: #66ff00;

    --success: #00ff00;
    --warning: #ffff00;
    --error: #ff0000;
    --info: #00ffff;

    --theme-name: 'GREEN';
    --theme-emoji: '🟢';
}

/* ============================================
   THEME: RETRO SYNTHWAVE
   ============================================ */
[data-theme="synthwave"] {
    --bg-primary: #1a0033;
    --bg-secondary: #2d0052;
    --bg-tertiary: #3d0066;
    --bg-hover: #4d0080;
    --bg-panel: #240047;

    --text-primary: #ff00ff;
    --text-secondary: #ff66ff;
    --text-accent: #00ffff;
    --text-dim: #8800aa;
    --text-bright: #ffaaff;

    --border-primary: #ff00ff;
    --border-secondary: #4d0080;
    --border-tertiary: #2d0052;

    --accent-primary: #ff00ff;
    --accent-secondary: #00ffff;
    --accent-tertiary: #ff1493;

    --success: #00ff00;
    --warning: #ffaa00;
    --error: #ff0055;
    --info: #00ffff;

    --shadow-sm: 0 1px 2px rgba(255, 0, 255, 0.3);
    --shadow-md: 0 2px 4px rgba(255, 0, 255, 0.4);
    --shadow-lg: 0 4px 8px rgba(255, 0, 255, 0.5);
    --shadow-glow: 0 0 20px rgba(255, 0, 255, 0.6);

    --theme-name: 'SYNTHWAVE';
    --theme-emoji: '🌆';
}

/* ============================================
   THEME: UCF KNIGHTS
   ============================================ */
[data-theme="ucf"] {
    --bg-primary: #000000;
    --bg-secondary: #0d0d0d;
    --bg-tertiary: #1a1a1a;
    --bg-hover: #2a2a00;
    --bg-panel: #0a0a0a;

    --text-primary: #ffffff;
    --text-secondary: #cccccc;
    --text-accent: #FFC904;
    --text-dim: #666666;
    --text-bright: #FFD633;

    --border-primary: #FFC904;
    --border-secondary: #333333;
    --border-tertiary: #1a1a1a;

    --accent-primary: #FFC904;
    --accent-secondary: #FFD633;
    --accent-tertiary: #B8860B;

    --success: #00ff00;
    --warning: #FFD633;
    --error: #ff0000;
    --info: #FFC904;

    --theme-name: 'UCF KNIGHTS';
    --theme-emoji: '⚔️';
}

/* ============================================
   THEME TRANSITION
   ============================================ */
* {
    transition:
        background-color var(--transition-base),
        color var(--transition-base),
        border-color var(--transition-base),
        box-shadow var(--transition-base);
}

/* Prevent transition on page load */
.no-transition * {
    transition: none !important;
}
