/* ==========================================================================
   Sledge Theme Variable Contract
   ==========================================================================
   Every theme MUST define ALL of the following variables.
   This list is the canonical contract — any variable added here
   must be added to :root AND every [data-theme='X'] block.

   BOOTSTRAP OVERRIDES (~15 vars):
     --bs-body-bg
     --bs-body-color
     --bs-primary
     --bs-border-color
     --bs-emphasis-color
     --bs-secondary-bg
     --bs-tertiary-bg
     --bs-link-color
     --bs-link-hover-color
     --bs-code-color
     --bs-success
     --bs-danger
     --bs-warning
     --bs-info
     --bs-secondary

   CORE PALETTE (~10 vars):
     --bg
     --bg-surface
     --bg-elevated
     --bg-overlay
     --text
     --text-secondary
     --text-muted
     --text-inverse
     --primary
     --primary-hover

   SEMANTIC COLORS (~8 vars):
     --success
     --danger
     --warning
     --info
     --success-bg
     --danger-bg
     --warning-bg
     --info-bg

   NAVIGATION (~5 vars):
     --nav-bg
     --nav-text
     --nav-border
     --nav-hover-bg
     --nav-active-bg

   TABLES (~5 vars):
     --table-header-bg
     --table-header-text
     --table-border
     --table-row-hover
     --table-row-stripe

   CARDS & SURFACES (~5 vars):
     --card-bg
     --card-border
     --card-shadow
     --card-header-bg
     --card-header-text

   FORMS & INPUTS (~5 vars):
     --input-bg
     --input-border
     --input-text
     --input-focus-border
     --input-placeholder

   BUTTONS (~4 vars):
     --btn-primary-bg
     --btn-primary-text
     --btn-secondary-bg
     --btn-secondary-text

   BADGES & ICONS (~6 vars):
     --badge-bg
     --badge-text
     --icon-synaptic
     --icon-affinity
     --icon-website
     --icon-email

   TIER COLORS (~6 vars):
     --tier-s
     --tier-a
     --tier-b
     --tier-c
     --tier-d
     --tier-f

   TYPOGRAPHY (~6 vars):
     --font-body
     --font-heading
     --font-mono
     --font-size-base
     --line-height-base
     --letter-spacing

   BORDERS (~1 var):
     --border

   EFFECTS (~6 vars):
     --shadow-sm
     --shadow-md
     --shadow-lg
     --radius-sm
     --radius-md
     --radius-lg

   LOADING OVERLAY (~3 vars):
     --overlay-bg
     --overlay-text
     --overlay-accent

   TRANSITIONS (~1 var):
     --transition-speed

   TOTAL: ~86 variables per theme
   ========================================================================== */


/* ==========================================================================
   1. DEFAULT — Current Bootstrap light look
   ========================================================================== */

:root {
  /* Bootstrap overrides */
  --bs-body-bg: #ffffff;
  --bs-body-color: #212529;
  --bs-primary: #0d6efd;
  --bs-border-color: #dee2e6;
  --bs-emphasis-color: #000000;
  --bs-secondary-bg: #e9ecef;
  --bs-tertiary-bg: #f8f9fa;
  --bs-link-color: #0d6efd;
  --bs-link-hover-color: #0a58ca;
  --bs-code-color: #d63384;
  --bs-success: #198754;
  --bs-danger: #dc3545;
  --bs-warning: #ffc107;
  --bs-info: #0dcaf0;
  --bs-secondary: #6c757d;

  /* Core palette */
  --bg: #ffffff;
  --bg-surface: #f8f9fa;
  --bg-elevated: #ffffff;
  --bg-overlay: rgba(0, 0, 0, 0.5);
  --text: #212529;
  --text-secondary: #495057;
  --text-muted: #6c757d;
  --text-inverse: #ffffff;
  --primary: #0d6efd;
  --primary-hover: #0a58ca;

  /* Semantic colors */
  --success: #198754;
  --danger: #dc3545;
  --warning: #ffc107;
  --info: #0dcaf0;
  --success-bg: #d1e7dd;
  --danger-bg: #f8d7da;
  --warning-bg: #fff3cd;
  --info-bg: #cff4fc;

  /* Navigation */
  --nav-bg: #f8f9fa;
  --nav-text: #212529;
  --nav-border: #dee2e6;
  --nav-hover-bg: #e9ecef;
  --nav-active-bg: #dee2e6;

  /* Tables */
  --table-header-bg: #f8f9fa;
  --table-header-text: #212529;
  --table-border: #dee2e6;
  --table-row-hover: #f2f2f2;
  --table-row-stripe: #f8f9fa;

  /* Cards & surfaces */
  --card-bg: #ffffff;
  --card-border: #dee2e6;
  --card-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --card-header-bg: #f8f9fa;
  --card-header-text: #212529;

  /* Forms & inputs */
  --input-bg: #ffffff;
  --input-border: #ced4da;
  --input-text: #212529;
  --input-focus-border: #86b7fe;
  --input-placeholder: #6c757d;

  /* Buttons */
  --btn-primary-bg: #0d6efd;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #6c757d;
  --btn-secondary-text: #ffffff;

  /* Badges & icons */
  --badge-bg: #0d6efd;
  --badge-text: #ffffff;
  --icon-synaptic: #6f42c1;
  --icon-affinity: #0d6efd;
  --icon-website: #198754;
  --icon-email: #dc3545;

  /* Tier colors */
  --tier-s: #198754;
  --tier-a: #0d6efd;
  --tier-b: #6f42c1;
  --tier-c: #ffc107;
  --tier-d: #fd7e14;
  --tier-f: #dc3545;

  /* Typography */
  --font-body: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-heading: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'SFMono-Regular', Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  --font-size-base: 1rem;
  --line-height-base: 1.5;
  --letter-spacing: normal;

  /* Effects */
  --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;

  /* Loading overlay */
  --overlay-bg: rgba(255, 255, 255, 0.8);
  --overlay-text: #212529;
  --overlay-accent: #0d6efd;

  /* Borders */
  --border: #dee2e6;

  /* Transitions */
  --transition-speed: 0.15s;
}


/* ==========================================================================
   2. TUFTE — Edward Tufte: cream bg, red accent, serif typography
   ========================================================================== */

[data-theme='tufte'] {
  /* Bootstrap overrides */
  --bs-body-bg: #fffff8;
  --bs-body-color: #111111;
  --bs-primary: #a00000;
  --bs-border-color: #d8d5c7;
  --bs-emphasis-color: #000000;
  --bs-secondary-bg: #f3f0e3;
  --bs-tertiary-bg: #f9f6e9;
  --bs-link-color: #a00000;
  --bs-link-hover-color: #780000;
  --bs-code-color: #8b4513;
  --bs-success: #2e7d32;
  --bs-danger: #a00000;
  --bs-warning: #bf8c00;
  --bs-info: #4a7c8b;
  --bs-secondary: #635b4d;

  /* Core palette */
  --bg: #fffff8;
  --bg-surface: #f9f6e9;
  --bg-elevated: #fffff8;
  --bg-overlay: rgba(17, 17, 17, 0.4);
  --text: #111111;
  --text-secondary: #333333;
  --text-muted: #635b4d;
  --text-inverse: #fffff8;
  --primary: #a00000;
  --primary-hover: #780000;

  /* Semantic colors */
  --success: #2e7d32;
  --danger: #a00000;
  --warning: #bf8c00;
  --info: #4a7c8b;
  --success-bg: #e6f0e6;
  --danger-bg: #f5e0e0;
  --warning-bg: #f5efd6;
  --info-bg: #e0ecf0;

  /* Navigation */
  --nav-bg: #f3f0e3;
  --nav-text: #111111;
  --nav-border: #d8d5c7;
  --nav-hover-bg: #ede9d9;
  --nav-active-bg: #e5e0cf;

  /* Tables */
  --table-header-bg: #f3f0e3;
  --table-header-text: #111111;
  --table-border: #d8d5c7;
  --table-row-hover: #f5f2e5;
  --table-row-stripe: #faf7ea;

  /* Cards & surfaces */
  --card-bg: #fffff8;
  --card-border: #d8d5c7;
  --card-shadow: none;
  --card-header-bg: #f3f0e3;
  --card-header-text: #111111;

  /* Forms & inputs */
  --input-bg: #fffff8;
  --input-border: #d8d5c7;
  --input-text: #111111;
  --input-focus-border: #a00000;
  --input-placeholder: #6b6355;

  /* Buttons */
  --btn-primary-bg: #a00000;
  --btn-primary-text: #fffff8;
  --btn-secondary-bg: #635b4d;
  --btn-secondary-text: #fffff8;

  /* Badges & icons */
  --badge-bg: #a00000;
  --badge-text: #fffff8;
  --icon-synaptic: #6b3a2e;
  --icon-affinity: #a00000;
  --icon-website: #2e7d32;
  --icon-email: #8b4513;

  /* Tier colors */
  --tier-s: #2e7d32;
  --tier-a: #a00000;
  --tier-b: #6b3a2e;
  --tier-c: #bf8c00;
  --tier-d: #8b6914;
  --tier-f: #800000;

  /* Typography */
  --font-body: 'ET Book', 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
  --font-heading: 'ET Book', 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
  --font-mono: 'Consolas', 'Liberation Mono', Menlo, 'Courier New', monospace;
  --font-size-base: 1.1rem;
  --line-height-base: 1.6;
  --letter-spacing: 0.01em;

  /* Effects */
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;

  /* Loading overlay */
  --overlay-bg: rgba(255, 255, 248, 0.85);
  --overlay-text: #111111;
  --overlay-accent: #a00000;

  /* Borders */
  --border: #d8d5c7;

  /* Transitions */
  --transition-speed: 0.1s;
}


/* ==========================================================================
   3. HACKER — Terminal: black bg, green text, monospace
   ========================================================================== */

[data-theme='hacker'] {
  /* Bootstrap overrides */
  --bs-body-bg: #0a0a0a;
  --bs-body-color: #00ff41;
  --bs-primary: #00ff41;
  --bs-border-color: #1a3a1a;
  --bs-emphasis-color: #00ff41;
  --bs-secondary-bg: #0d1a0d;
  --bs-tertiary-bg: #111f11;
  --bs-link-color: #00ff41;
  --bs-link-hover-color: #33ff66;
  --bs-code-color: #39ff14;
  --bs-success: #00ff41;
  --bs-danger: #ff3333;
  --bs-warning: #ffff00;
  --bs-info: #00ffff;
  --bs-secondary: #338833;

  /* Core palette */
  --bg: #0a0a0a;
  --bg-surface: #0d1a0d;
  --bg-elevated: #112211;
  --bg-overlay: rgba(0, 255, 65, 0.1);
  --text: #00ff41;
  --text-secondary: #33cc33;
  --text-muted: #55aa55;
  --text-inverse: #0a0a0a;
  --primary: #00ff41;
  --primary-hover: #33ff66;

  /* Semantic colors */
  --success: #00ff41;
  --danger: #ff3333;
  --warning: #ffff00;
  --info: #00ffff;
  --success-bg: rgba(0, 255, 65, 0.15);
  --danger-bg: rgba(255, 51, 51, 0.15);
  --warning-bg: rgba(255, 255, 0, 0.15);
  --info-bg: rgba(0, 255, 255, 0.15);

  /* Navigation */
  --nav-bg: #0d1a0d;
  --nav-text: #00ff41;
  --nav-border: #1a3a1a;
  --nav-hover-bg: #112811;
  --nav-active-bg: #1a3a1a;

  /* Tables */
  --table-header-bg: #0d1a0d;
  --table-header-text: #00ff41;
  --table-border: #1a3a1a;
  --table-row-hover: rgba(0, 255, 65, 0.08);
  --table-row-stripe: rgba(0, 255, 65, 0.04);

  /* Cards & surfaces */
  --card-bg: #0d1a0d;
  --card-border: #1a3a1a;
  --card-shadow: 0 0 10px rgba(0, 255, 65, 0.1);
  --card-header-bg: #112211;
  --card-header-text: #00ff41;

  /* Forms & inputs */
  --input-bg: #0a0a0a;
  --input-border: #1a3a1a;
  --input-text: #00ff41;
  --input-focus-border: #00ff41;
  --input-placeholder: #4da64d;

  /* Buttons */
  --btn-primary-bg: #00ff41;
  --btn-primary-text: #0a0a0a;
  --btn-secondary-bg: #1a3a1a;
  --btn-secondary-text: #00ff41;

  /* Badges & icons */
  --badge-bg: #00ff41;
  --badge-text: #0a0a0a;
  --icon-synaptic: #00ff41;
  --icon-affinity: #33cc33;
  --icon-website: #39ff14;
  --icon-email: #00ffaa;

  /* Tier colors */
  --tier-s: #00ff41;
  --tier-a: #33ff66;
  --tier-b: #66ff88;
  --tier-c: #ffff00;
  --tier-d: #ff8800;
  --tier-f: #ff3333;

  /* Typography */
  --font-body: 'Fira Code', 'JetBrains Mono', 'Cascadia Code', 'Source Code Pro', 'Consolas', monospace;
  --font-heading: 'Fira Code', 'JetBrains Mono', 'Cascadia Code', 'Source Code Pro', 'Consolas', monospace;
  --font-mono: 'Fira Code', 'JetBrains Mono', 'Cascadia Code', 'Source Code Pro', 'Consolas', monospace;
  --font-size-base: 0.9375rem;
  --line-height-base: 1.5;
  --letter-spacing: 0.02em;

  /* Effects */
  --shadow-sm: 0 0 5px rgba(0, 255, 65, 0.1);
  --shadow-md: 0 0 15px rgba(0, 255, 65, 0.15);
  --shadow-lg: 0 0 30px rgba(0, 255, 65, 0.2);
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;

  /* Loading overlay */
  --overlay-bg: rgba(10, 10, 10, 0.9);
  --overlay-text: #00ff41;
  --overlay-accent: #00ff41;

  /* Borders */
  --border: #1a3a1a;

  /* Transitions */
  --transition-speed: 0s;
}


/* ==========================================================================
   4. MINIMAL — Apple-like: clean white, subtle grays, system fonts
   ========================================================================== */

[data-theme='minimal'] {
  /* Bootstrap overrides */
  --bs-body-bg: #ffffff;
  --bs-body-color: #1d1d1f;
  --bs-primary: #0071e3;
  --bs-border-color: #d2d2d7;
  --bs-emphasis-color: #1d1d1f;
  --bs-secondary-bg: #f5f5f7;
  --bs-tertiary-bg: #fbfbfd;
  --bs-link-color: #0066cc;
  --bs-link-hover-color: #0055b3;
  --bs-code-color: #bf4800;
  --bs-success: #34c759;
  --bs-danger: #ff3b30;
  --bs-warning: #ff9500;
  --bs-info: #5ac8fa;
  --bs-secondary: #6e6e73;

  /* Core palette */
  --bg: #ffffff;
  --bg-surface: #f5f5f7;
  --bg-elevated: #ffffff;
  --bg-overlay: rgba(0, 0, 0, 0.4);
  --text: #1d1d1f;
  --text-secondary: #424245;
  --text-muted: #6e6e73;
  --text-inverse: #ffffff;
  --primary: #0071e3;
  --primary-hover: #0077ed;

  /* Semantic colors */
  --success: #34c759;
  --danger: #ff3b30;
  --warning: #ff9500;
  --info: #5ac8fa;
  --success-bg: #e8f8ed;
  --danger-bg: #ffe5e3;
  --warning-bg: #fff4e0;
  --info-bg: #e3f4fd;

  /* Navigation */
  --nav-bg: rgba(255, 255, 255, 0.72);
  --nav-text: #1d1d1f;
  --nav-border: #d2d2d7;
  --nav-hover-bg: #f5f5f7;
  --nav-active-bg: #e8e8ed;

  /* Tables */
  --table-header-bg: #f5f5f7;
  --table-header-text: #1d1d1f;
  --table-border: #d2d2d7;
  --table-row-hover: #f5f5f7;
  --table-row-stripe: #fbfbfd;

  /* Cards & surfaces */
  --card-bg: #ffffff;
  --card-border: #d2d2d7;
  --card-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  --card-header-bg: #f5f5f7;
  --card-header-text: #1d1d1f;

  /* Forms & inputs */
  --input-bg: #ffffff;
  --input-border: #d2d2d7;
  --input-text: #1d1d1f;
  --input-focus-border: #0071e3;
  --input-placeholder: #6e6e73;

  /* Buttons */
  --btn-primary-bg: #0071e3;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #e8e8ed;
  --btn-secondary-text: #1d1d1f;

  /* Badges & icons */
  --badge-bg: #0071e3;
  --badge-text: #ffffff;
  --icon-synaptic: #af52de;
  --icon-affinity: #0071e3;
  --icon-website: #34c759;
  --icon-email: #ff3b30;

  /* Tier colors */
  --tier-s: #34c759;
  --tier-a: #0071e3;
  --tier-b: #af52de;
  --tier-c: #ff9500;
  --tier-d: #ff6b00;
  --tier-f: #ff3b30;

  /* Typography */
  --font-body: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-heading: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-mono: 'SF Mono', 'Fira Code', Menlo, Monaco, Consolas, monospace;
  --font-size-base: 1rem;
  --line-height-base: 1.47;
  --letter-spacing: -0.022em;

  /* Effects */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.12);
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;

  /* Loading overlay */
  --overlay-bg: rgba(255, 255, 255, 0.72);
  --overlay-text: #1d1d1f;
  --overlay-accent: #0071e3;

  /* Borders */
  --border: #d2d2d7;

  /* Transitions */
  --transition-speed: 0.2s;
}


/* ==========================================================================
   5. MODERN — Dark mode: deep black bg, purple accent, Inter font
   ========================================================================== */

[data-theme='modern'] {
  /* Bootstrap overrides */
  --bs-body-bg: #09090b;
  --bs-body-color: #fafafa;
  --bs-primary: #7c3aed;
  --bs-border-color: #27272a;
  --bs-emphasis-color: #ffffff;
  --bs-secondary-bg: #18181b;
  --bs-tertiary-bg: #27272a;
  --bs-link-color: #a78bfa;
  --bs-link-hover-color: #c4b5fd;
  --bs-code-color: #c084fc;
  --bs-success: #22c55e;
  --bs-danger: #ef4444;
  --bs-warning: #eab308;
  --bs-info: #06b6d4;
  --bs-secondary: #6b6b73;

  /* Core palette */
  --bg: #09090b;
  --bg-surface: #18181b;
  --bg-elevated: #27272a;
  --bg-overlay: rgba(0, 0, 0, 0.7);
  --text: #fafafa;
  --text-secondary: #a1a1aa;
  --text-muted: #a0a0a8;
  --text-inverse: #09090b;
  --primary: #7c3aed;
  --primary-hover: #6d28d9;

  /* Semantic colors */
  --success: #22c55e;
  --danger: #ef4444;
  --warning: #eab308;
  --info: #06b6d4;
  --success-bg: rgba(34, 197, 94, 0.15);
  --danger-bg: rgba(239, 68, 68, 0.15);
  --warning-bg: rgba(234, 179, 8, 0.15);
  --info-bg: rgba(6, 182, 212, 0.15);

  /* Navigation */
  --nav-bg: #09090b;
  --nav-text: #fafafa;
  --nav-border: #27272a;
  --nav-hover-bg: #18181b;
  --nav-active-bg: #27272a;

  /* Tables */
  --table-header-bg: #18181b;
  --table-header-text: #fafafa;
  --table-border: #27272a;
  --table-row-hover: rgba(124, 58, 237, 0.08);
  --table-row-stripe: rgba(255, 255, 255, 0.02);

  /* Cards & surfaces */
  --card-bg: #18181b;
  --card-border: #27272a;
  --card-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  --card-header-bg: #27272a;
  --card-header-text: #fafafa;

  /* Forms & inputs */
  --input-bg: #18181b;
  --input-border: #3f3f46;
  --input-text: #fafafa;
  --input-focus-border: #7c3aed;
  --input-placeholder: #8e8e96;

  /* Buttons */
  --btn-primary-bg: #7c3aed;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #27272a;
  --btn-secondary-text: #fafafa;

  /* Badges & icons */
  --badge-bg: #7c3aed;
  --badge-text: #ffffff;
  --icon-synaptic: #a78bfa;
  --icon-affinity: #818cf8;
  --icon-website: #22c55e;
  --icon-email: #ef4444;

  /* Tier colors */
  --tier-s: #22c55e;
  --tier-a: #818cf8;
  --tier-b: #a78bfa;
  --tier-c: #eab308;
  --tier-d: #f97316;
  --tier-f: #ef4444;

  /* Typography */
  --font-body: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-heading: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', Consolas, monospace;
  --font-size-base: 0.9375rem;
  --line-height-base: 1.5;
  --letter-spacing: -0.011em;

  /* Effects */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.6);
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;

  /* Loading overlay */
  --overlay-bg: rgba(9, 9, 11, 0.85);
  --overlay-text: #fafafa;
  --overlay-accent: #7c3aed;

  /* Borders */
  --border: #27272a;

  /* Transitions */
  --transition-speed: 0.15s;
}


/* ==========================================================================
   6. WEB2 — 2008 nostalgia: blue/gray UI, Lucida Grande, beveled feel
   ========================================================================== */

[data-theme='web2'] {
  /* Bootstrap overrides */
  --bs-body-bg: #e8eef7;
  --bs-body-color: #333333;
  --bs-primary: #2b5797;
  --bs-border-color: #b8c7d9;
  --bs-emphasis-color: #1a1a1a;
  --bs-secondary-bg: #d4dde9;
  --bs-tertiary-bg: #dfe6ef;
  --bs-link-color: #2b5797;
  --bs-link-hover-color: #1e3f6e;
  --bs-code-color: #8b3e8b;
  --bs-success: #4e9a06;
  --bs-danger: #cc0000;
  --bs-warning: #c4a000;
  --bs-info: #3465a4;
  --bs-secondary: #5e605c;

  /* Core palette */
  --bg: #e8eef7;
  --bg-surface: #d4dde9;
  --bg-elevated: #ffffff;
  --bg-overlay: rgba(0, 0, 0, 0.45);
  --text: #333333;
  --text-secondary: #555555;
  --text-muted: #5e605c;
  --text-inverse: #ffffff;
  --primary: #2b5797;
  --primary-hover: #1e3f6e;

  /* Semantic colors */
  --success: #4e9a06;
  --danger: #cc0000;
  --warning: #c4a000;
  --info: #3465a4;
  --success-bg: #ddebc8;
  --danger-bg: #f5d0d0;
  --warning-bg: #f5efc8;
  --info-bg: #cddff0;

  /* Navigation */
  --nav-bg: #2b5797;
  --nav-text: #ffffff;
  --nav-border: #1e3f6e;
  --nav-hover-bg: #345fa3;
  --nav-active-bg: #1e3f6e;

  /* Tables */
  --table-header-bg: #2b5797;
  --table-header-text: #ffffff;
  --table-border: #b8c7d9;
  --table-row-hover: #d4dde9;
  --table-row-stripe: #dfe6ef;

  /* Cards & surfaces */
  --card-bg: #ffffff;
  --card-border: #b8c7d9;
  --card-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  --card-header-bg: #e2e8f0;
  --card-header-text: #333333;

  /* Forms & inputs */
  --input-bg: #ffffff;
  --input-border: #a0aec0;
  --input-text: #333333;
  --input-focus-border: #2b5797;
  --input-placeholder: #5e605c;

  /* Buttons */
  --btn-primary-bg: #2b5797;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #d4dde9;
  --btn-secondary-text: #333333;

  /* Badges & icons */
  --badge-bg: #2b5797;
  --badge-text: #ffffff;
  --icon-synaptic: #75507b;
  --icon-affinity: #2b5797;
  --icon-website: #4e9a06;
  --icon-email: #cc0000;

  /* Tier colors */
  --tier-s: #4e9a06;
  --tier-a: #2b5797;
  --tier-b: #75507b;
  --tier-c: #c4a000;
  --tier-d: #ce5c00;
  --tier-f: #cc0000;

  /* Typography */
  --font-body: 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Tahoma, Geneva, Verdana, sans-serif;
  --font-heading: 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Tahoma, Geneva, Verdana, sans-serif;
  --font-mono: 'Lucida Console', 'Andale Mono', Monaco, 'Courier New', monospace;
  --font-size-base: 0.8125rem;
  --line-height-base: 1.5;
  --letter-spacing: normal;

  /* Effects */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 2px 6px rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.2);
  --radius-sm: 3px;
  --radius-md: 5px;
  --radius-lg: 8px;

  /* Loading overlay */
  --overlay-bg: rgba(232, 238, 247, 0.85);
  --overlay-text: #333333;
  --overlay-accent: #2b5797;

  /* Borders */
  --border: #b8c7d9;

  /* Transitions */
  --transition-speed: 0.1s;
}


/* ==========================================================================
   7. BRUTALIST — Raw: white bg, black text, blue links, mixed type
   ========================================================================== */

[data-theme='brutalist'] {
  /* Bootstrap overrides */
  --bs-body-bg: #ffffff;
  --bs-body-color: #000000;
  --bs-primary: #0000ff;
  --bs-border-color: #000000;
  --bs-emphasis-color: #000000;
  --bs-secondary-bg: #eeeeee;
  --bs-tertiary-bg: #f5f5f5;
  --bs-link-color: #0000ff;
  --bs-link-hover-color: #0000cc;
  --bs-code-color: #000000;
  --bs-success: #008000;
  --bs-danger: #ff0000;
  --bs-warning: #ff8c00;
  --bs-info: #0000ff;
  --bs-secondary: #666666;

  /* Core palette */
  --bg: #ffffff;
  --bg-surface: #f5f5f5;
  --bg-elevated: #ffffff;
  --bg-overlay: rgba(0, 0, 0, 0.6);
  --text: #000000;
  --text-secondary: #333333;
  --text-muted: #666666;
  --text-inverse: #ffffff;
  --primary: #0000ff;
  --primary-hover: #0000cc;

  /* Semantic colors */
  --success: #008000;
  --danger: #ff0000;
  --warning: #ff8c00;
  --info: #0000ff;
  --success-bg: #ccffcc;
  --danger-bg: #ffcccc;
  --warning-bg: #fff0cc;
  --info-bg: #ccccff;

  /* Navigation */
  --nav-bg: #ffffff;
  --nav-text: #000000;
  --nav-border: #000000;
  --nav-hover-bg: #eeeeee;
  --nav-active-bg: #000000;

  /* Tables */
  --table-header-bg: #000000;
  --table-header-text: #ffffff;
  --table-border: #000000;
  --table-row-hover: #eeeeee;
  --table-row-stripe: #f5f5f5;

  /* Cards & surfaces */
  --card-bg: #ffffff;
  --card-border: #000000;
  --card-shadow: none;
  --card-header-bg: #000000;
  --card-header-text: #ffffff;

  /* Forms & inputs */
  --input-bg: #ffffff;
  --input-border: #000000;
  --input-text: #000000;
  --input-focus-border: #0000ff;
  --input-placeholder: #767676;

  /* Buttons */
  --btn-primary-bg: #000000;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #ffffff;
  --btn-secondary-text: #000000;

  /* Badges & icons */
  --badge-bg: #000000;
  --badge-text: #ffffff;
  --icon-synaptic: #0000ff;
  --icon-affinity: #ff0000;
  --icon-website: #008000;
  --icon-email: #000000;

  /* Tier colors */
  --tier-s: #008000;
  --tier-a: #0000ff;
  --tier-b: #800080;
  --tier-c: #ff8c00;
  --tier-d: #ff4500;
  --tier-f: #ff0000;

  /* Typography */
  --font-body: 'Times New Roman', Times, 'Noto Serif', Georgia, serif;
  --font-heading: 'Courier New', 'Courier Prime', Courier, monospace;
  --font-mono: 'Courier New', 'Courier Prime', Courier, monospace;
  --font-size-base: 1rem;
  --line-height-base: 1.4;
  --letter-spacing: normal;

  /* Effects */
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;

  /* Loading overlay */
  --overlay-bg: rgba(255, 255, 255, 0.9);
  --overlay-text: #000000;
  --overlay-accent: #0000ff;

  /* Borders */
  --border: #000000;

  /* Transitions */
  --transition-speed: 0s;
}


/* ==========================================================================
   8. BLOOMBERG — Terminal: black bg, orange text, dense data display
   ========================================================================== */

[data-theme='bloomberg'] {
  /* Bootstrap overrides */
  --bs-body-bg: #000000;
  --bs-body-color: #ff8c00;
  --bs-primary: #ff8c00;
  --bs-border-color: #333300;
  --bs-emphasis-color: #ff8c00;
  --bs-secondary-bg: #0a0a00;
  --bs-tertiary-bg: #141400;
  --bs-link-color: #ff8c00;
  --bs-link-hover-color: #ffaa33;
  --bs-code-color: #ffa500;
  --bs-success: #00ff00;
  --bs-danger: #ff0000;
  --bs-warning: #ffff00;
  --bs-info: #00ccff;
  --bs-secondary: #996600;

  /* Core palette */
  --bg: #000000;
  --bg-surface: #0a0a00;
  --bg-elevated: #1a1a00;
  --bg-overlay: rgba(255, 140, 0, 0.08);
  --text: #ff8c00;
  --text-secondary: #d47800;
  --text-muted: #cc8800;
  --text-inverse: #000000;
  --primary: #ff8c00;
  --primary-hover: #ffaa33;

  /* Semantic colors */
  --success: #00ff00;
  --danger: #ff0000;
  --warning: #ffff00;
  --info: #00ccff;
  --success-bg: rgba(0, 255, 0, 0.12);
  --danger-bg: rgba(255, 0, 0, 0.12);
  --warning-bg: rgba(255, 255, 0, 0.12);
  --info-bg: rgba(0, 204, 255, 0.12);

  /* Navigation */
  --nav-bg: #0a0a00;
  --nav-text: #ff8c00;
  --nav-border: #333300;
  --nav-hover-bg: #1a1a00;
  --nav-active-bg: #333300;

  /* Tables */
  --table-header-bg: #1a1a00;
  --table-header-text: #ff8c00;
  --table-border: #333300;
  --table-row-hover: rgba(255, 140, 0, 0.08);
  --table-row-stripe: rgba(255, 140, 0, 0.03);

  /* Cards & surfaces */
  --card-bg: #0a0a00;
  --card-border: #333300;
  --card-shadow: 0 0 8px rgba(255, 140, 0, 0.1);
  --card-header-bg: #1a1a00;
  --card-header-text: #ff8c00;

  /* Forms & inputs */
  --input-bg: #000000;
  --input-border: #333300;
  --input-text: #ff8c00;
  --input-focus-border: #ff8c00;
  --input-placeholder: #997a00;

  /* Buttons */
  --btn-primary-bg: #ff8c00;
  --btn-primary-text: #000000;
  --btn-secondary-bg: #333300;
  --btn-secondary-text: #ff8c00;

  /* Badges & icons */
  --badge-bg: #ff8c00;
  --badge-text: #000000;
  --icon-synaptic: #ffaa33;
  --icon-affinity: #ff8c00;
  --icon-website: #00ff00;
  --icon-email: #ff4444;

  /* Tier colors */
  --tier-s: #00ff00;
  --tier-a: #00ccff;
  --tier-b: #ff8c00;
  --tier-c: #ffff00;
  --tier-d: #ff4444;
  --tier-f: #ff0000;

  /* Typography */
  --font-body: 'Consolas', 'Cascadia Code', 'Fira Code', 'Source Code Pro', 'Liberation Mono', monospace;
  --font-heading: 'Consolas', 'Cascadia Code', 'Fira Code', 'Source Code Pro', 'Liberation Mono', monospace;
  --font-mono: 'Consolas', 'Cascadia Code', 'Fira Code', 'Source Code Pro', 'Liberation Mono', monospace;
  --font-size-base: 0.8125rem;
  --line-height-base: 1.35;
  --letter-spacing: 0.02em;

  /* Effects */
  --shadow-sm: 0 0 4px rgba(255, 140, 0, 0.08);
  --shadow-md: 0 0 12px rgba(255, 140, 0, 0.12);
  --shadow-lg: 0 0 24px rgba(255, 140, 0, 0.16);
  --radius-sm: 0;
  --radius-md: 2px;
  --radius-lg: 4px;

  /* Loading overlay */
  --overlay-bg: rgba(0, 0, 0, 0.92);
  --overlay-text: #ff8c00;
  --overlay-accent: #ff8c00;

  /* Borders */
  --border: #333300;

  /* Transitions */
  --transition-speed: 0s;
}


/* ==========================================================================
   9. FT — Financial Times: salmon bg, teal accent, Georgia serif
   ========================================================================== */

[data-theme='ft'] {
  /* Bootstrap overrides */
  --bs-body-bg: #fff1e5;
  --bs-body-color: #33302e;
  --bs-primary: #0d7680;
  --bs-border-color: #ccc1b7;
  --bs-emphasis-color: #1a1817;
  --bs-secondary-bg: #f2dfce;
  --bs-tertiary-bg: #faf0e6;
  --bs-link-color: #0d7680;
  --bs-link-hover-color: #095e66;
  --bs-code-color: #8b572a;
  --bs-success: #09a549;
  --bs-danger: #cc0000;
  --bs-warning: #f2a900;
  --bs-info: #0d7680;
  --bs-secondary: #6b6460;

  /* Core palette */
  --bg: #fff1e5;
  --bg-surface: #f2dfce;
  --bg-elevated: #ffffff;
  --bg-overlay: rgba(51, 48, 46, 0.45);
  --text: #33302e;
  --text-secondary: #66605c;
  --text-muted: #6b6460;
  --text-inverse: #ffffff;
  --primary: #0d7680;
  --primary-hover: #095e66;

  /* Semantic colors */
  --success: #09a549;
  --danger: #cc0000;
  --warning: #f2a900;
  --info: #0d7680;
  --success-bg: #d3edd9;
  --danger-bg: #f5d0d0;
  --warning-bg: #fcebd0;
  --info-bg: #d0e8ea;

  /* Navigation */
  --nav-bg: #262a33;
  --nav-text: #fff1e5;
  --nav-border: #3d424d;
  --nav-hover-bg: #3d424d;
  --nav-active-bg: #0d7680;

  /* Tables */
  --table-header-bg: #f2dfce;
  --table-header-text: #33302e;
  --table-border: #ccc1b7;
  --table-row-hover: #f2dfce;
  --table-row-stripe: #faf0e6;

  /* Cards & surfaces */
  --card-bg: #ffffff;
  --card-border: #ccc1b7;
  --card-shadow: 0 1px 3px rgba(51, 48, 46, 0.08);
  --card-header-bg: #f2dfce;
  --card-header-text: #33302e;

  /* Forms & inputs */
  --input-bg: #ffffff;
  --input-border: #ccc1b7;
  --input-text: #33302e;
  --input-focus-border: #0d7680;
  --input-placeholder: #6b6460;

  /* Buttons */
  --btn-primary-bg: #0d7680;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #f2dfce;
  --btn-secondary-text: #33302e;

  /* Badges & icons */
  --badge-bg: #0d7680;
  --badge-text: #ffffff;
  --icon-synaptic: #9e2f50;
  --icon-affinity: #0d7680;
  --icon-website: #09a549;
  --icon-email: #cc0000;

  /* Tier colors */
  --tier-s: #09a549;
  --tier-a: #0d7680;
  --tier-b: #9e2f50;
  --tier-c: #f2a900;
  --tier-d: #d96b2b;
  --tier-f: #cc0000;

  /* Typography */
  --font-body: Georgia, 'Times New Roman', 'Noto Serif', Times, serif;
  --font-heading: Georgia, 'Times New Roman', 'Noto Serif', Times, serif;
  --font-mono: 'Consolas', 'Liberation Mono', Menlo, 'Courier New', monospace;
  --font-size-base: 1rem;
  --line-height-base: 1.6;
  --letter-spacing: normal;

  /* Effects */
  --shadow-sm: 0 1px 2px rgba(51, 48, 46, 0.06);
  --shadow-md: 0 2px 8px rgba(51, 48, 46, 0.1);
  --shadow-lg: 0 6px 20px rgba(51, 48, 46, 0.14);
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;

  /* Loading overlay */
  --overlay-bg: rgba(255, 241, 229, 0.88);
  --overlay-text: #33302e;
  --overlay-accent: #0d7680;

  /* Borders */
  --border: #ccc1b7;

  /* Transitions */
  --transition-speed: 0.15s;
}


/* ==========================================================================
   10. CYBERPUNK — Neon: deep indigo bg, pink/cyan neon, sharp angles
   ========================================================================== */

[data-theme='cyberpunk'] {
  /* Bootstrap overrides */
  --bs-body-bg: #0d0221;
  --bs-body-color: #e0e0ff;
  --bs-primary: #ff2a6d;
  --bs-border-color: #1a0a3e;
  --bs-emphasis-color: #ffffff;
  --bs-secondary-bg: #120530;
  --bs-tertiary-bg: #1a0a3e;
  --bs-link-color: #05d9e8;
  --bs-link-hover-color: #33e1ee;
  --bs-code-color: #ff2a6d;
  --bs-success: #01ffc3;
  --bs-danger: #ff2a6d;
  --bs-warning: #f8e71c;
  --bs-info: #05d9e8;
  --bs-secondary: #7a6a9e;

  /* Core palette */
  --bg: #0d0221;
  --bg-surface: #120530;
  --bg-elevated: #1a0a3e;
  --bg-overlay: rgba(255, 42, 109, 0.12);
  --text: #e0e0ff;
  --text-secondary: #b0a8d0;
  --text-muted: #b0a0d0;
  --text-inverse: #0d0221;
  --primary: #ff2a6d;
  --primary-hover: #ff5588;

  /* Semantic colors */
  --success: #01ffc3;
  --danger: #ff2a6d;
  --warning: #f8e71c;
  --info: #05d9e8;
  --success-bg: rgba(1, 255, 195, 0.12);
  --danger-bg: rgba(255, 42, 109, 0.15);
  --warning-bg: rgba(248, 231, 28, 0.12);
  --info-bg: rgba(5, 217, 232, 0.12);

  /* Navigation */
  --nav-bg: #120530;
  --nav-text: #e0e0ff;
  --nav-border: #2a1055;
  --nav-hover-bg: #1a0a3e;
  --nav-active-bg: rgba(255, 42, 109, 0.2);

  /* Tables */
  --table-header-bg: #1a0a3e;
  --table-header-text: #05d9e8;
  --table-border: #2a1055;
  --table-row-hover: rgba(5, 217, 232, 0.06);
  --table-row-stripe: rgba(255, 42, 109, 0.04);

  /* Cards & surfaces */
  --card-bg: #120530;
  --card-border: #2a1055;
  --card-shadow: 0 0 15px rgba(255, 42, 109, 0.15), 0 0 5px rgba(5, 217, 232, 0.1);
  --card-header-bg: #1a0a3e;
  --card-header-text: #05d9e8;

  /* Forms & inputs */
  --input-bg: #0d0221;
  --input-border: #2a1055;
  --input-text: #e0e0ff;
  --input-focus-border: #05d9e8;
  --input-placeholder: #9b8abf;

  /* Buttons */
  --btn-primary-bg: #ff2a6d;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #1a0a3e;
  --btn-secondary-text: #05d9e8;

  /* Badges & icons */
  --badge-bg: #ff2a6d;
  --badge-text: #ffffff;
  --icon-synaptic: #e840da;
  --icon-affinity: #05d9e8;
  --icon-website: #01ffc3;
  --icon-email: #ff2a6d;

  /* Tier colors */
  --tier-s: #01ffc3;
  --tier-a: #05d9e8;
  --tier-b: #d300c5;
  --tier-c: #f8e71c;
  --tier-d: #ff8c00;
  --tier-f: #ff2a6d;

  /* Typography */
  --font-body: 'Rajdhani', 'Exo 2', 'Orbitron', 'Segoe UI', system-ui, sans-serif;
  --font-heading: 'Rajdhani', 'Exo 2', 'Orbitron', 'Segoe UI', system-ui, sans-serif;
  --font-mono: 'Fira Code', 'JetBrains Mono', 'Source Code Pro', Consolas, monospace;
  --font-size-base: 0.9375rem;
  --line-height-base: 1.5;
  --letter-spacing: 0.04em;

  /* Effects */
  --shadow-sm: 0 0 5px rgba(255, 42, 109, 0.15);
  --shadow-md: 0 0 15px rgba(255, 42, 109, 0.2), 0 0 5px rgba(5, 217, 232, 0.1);
  --shadow-lg: 0 0 30px rgba(255, 42, 109, 0.25), 0 0 15px rgba(5, 217, 232, 0.15);
  --radius-sm: 0;
  --radius-md: 2px;
  --radius-lg: 4px;

  /* Loading overlay */
  --overlay-bg: rgba(13, 2, 33, 0.92);
  --overlay-text: #e0e0ff;
  --overlay-accent: #ff2a6d;

  /* Borders */
  --border: #1a0a3e;

  /* Transitions */
  --transition-speed: 0.1s;
}


/* ==========================================================================
   11. LUXURY — Gold on black: deep black bg, gold accents, elegant serif
   ========================================================================== */

[data-theme='luxury'] {
  /* Bootstrap overrides */
  --bs-body-bg: #0a0a0a;
  --bs-body-color: #e8e0d0;
  --bs-primary: #c9a96e;
  --bs-border-color: #2a2520;
  --bs-emphasis-color: #f5f0e8;
  --bs-secondary-bg: #141210;
  --bs-tertiary-bg: #1e1b18;
  --bs-link-color: #c9a96e;
  --bs-link-hover-color: #dbbe82;
  --bs-code-color: #c9a96e;
  --bs-success: #6aaf6a;
  --bs-danger: #c9534a;
  --bs-warning: #d4a843;
  --bs-info: #7aa8c9;
  --bs-secondary: #7a7068;

  /* Core palette */
  --bg: #0a0a0a;
  --bg-surface: #141210;
  --bg-elevated: #1e1b18;
  --bg-overlay: rgba(0, 0, 0, 0.7);
  --text: #e8e0d0;
  --text-secondary: #b8a890;
  --text-muted: #b0a494;
  --text-inverse: #0a0a0a;
  --primary: #c9a96e;
  --primary-hover: #dbbe82;

  /* Semantic colors */
  --success: #6aaf6a;
  --danger: #c9534a;
  --warning: #d4a843;
  --info: #7aa8c9;
  --success-bg: rgba(106, 175, 106, 0.12);
  --danger-bg: rgba(201, 83, 74, 0.12);
  --warning-bg: rgba(212, 168, 67, 0.12);
  --info-bg: rgba(122, 168, 201, 0.12);

  /* Navigation */
  --nav-bg: #0a0a0a;
  --nav-text: #e8e0d0;
  --nav-border: #2a2520;
  --nav-hover-bg: #1e1b18;
  --nav-active-bg: rgba(201, 169, 110, 0.15);

  /* Tables */
  --table-header-bg: #1e1b18;
  --table-header-text: #c9a96e;
  --table-border: #2a2520;
  --table-row-hover: rgba(201, 169, 110, 0.06);
  --table-row-stripe: rgba(201, 169, 110, 0.03);

  /* Cards & surfaces */
  --card-bg: #141210;
  --card-border: #2a2520;
  --card-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
  --card-header-bg: #1e1b18;
  --card-header-text: #c9a96e;

  /* Forms & inputs */
  --input-bg: #0a0a0a;
  --input-border: #2a2520;
  --input-text: #e8e0d0;
  --input-focus-border: #c9a96e;
  --input-placeholder: #8a7e70;

  /* Buttons */
  --btn-primary-bg: #c9a96e;
  --btn-primary-text: #0a0a0a;
  --btn-secondary-bg: #2a2520;
  --btn-secondary-text: #e8e0d0;

  /* Badges & icons */
  --badge-bg: #c9a96e;
  --badge-text: #0a0a0a;
  --icon-synaptic: #c9a96e;
  --icon-affinity: #7aa8c9;
  --icon-website: #6aaf6a;
  --icon-email: #d96b62;

  /* Tier colors */
  --tier-s: #c9a96e;
  --tier-a: #7aa8c9;
  --tier-b: #9b7ec9;
  --tier-c: #d4a843;
  --tier-d: #c97a4a;
  --tier-f: #c9534a;

  /* Typography */
  --font-body: 'Playfair Display', 'Cormorant Garamond', 'Noto Serif Display', Georgia, serif;
  --font-heading: 'Playfair Display', 'Cormorant Garamond', 'Noto Serif Display', Georgia, serif;
  --font-mono: 'DM Mono', 'Fira Code', 'JetBrains Mono', Consolas, monospace;
  --font-size-base: 1rem;
  --line-height-base: 1.6;
  --letter-spacing: 0.02em;

  /* Effects */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.6);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.7);
  --radius-sm: 0;
  --radius-md: 2px;
  --radius-lg: 4px;

  /* Loading overlay */
  --overlay-bg: rgba(10, 10, 10, 0.9);
  --overlay-text: #e8e0d0;
  --overlay-accent: #c9a96e;

  /* Borders */
  --border: #2a2520;

  /* Transitions */
  --transition-speed: 0.25s;
}


/* ==========================================================================
   12. RETRO — Apple II: black bg, bright green, pixel font
   ========================================================================== */

[data-theme='retro'] {
  /* Bootstrap overrides */
  --bs-body-bg: #000000;
  --bs-body-color: #33ff33;
  --bs-primary: #33ff33;
  --bs-border-color: #1a661a;
  --bs-emphasis-color: #33ff33;
  --bs-secondary-bg: #0a1a0a;
  --bs-tertiary-bg: #0d220d;
  --bs-link-color: #33ff33;
  --bs-link-hover-color: #66ff66;
  --bs-code-color: #33ff33;
  --bs-success: #33ff33;
  --bs-danger: #ff3333;
  --bs-warning: #ffff33;
  --bs-info: #33ffff;
  --bs-secondary: #1a991a;

  /* Core palette */
  --bg: #000000;
  --bg-surface: #0a1a0a;
  --bg-elevated: #0d220d;
  --bg-overlay: rgba(51, 255, 51, 0.08);
  --text: #33ff33;
  --text-secondary: #22cc22;
  --text-muted: #44cc44;
  --text-inverse: #000000;
  --primary: #33ff33;
  --primary-hover: #66ff66;

  /* Semantic colors */
  --success: #33ff33;
  --danger: #ff3333;
  --warning: #ffff33;
  --info: #33ffff;
  --success-bg: rgba(51, 255, 51, 0.12);
  --danger-bg: rgba(255, 51, 51, 0.12);
  --warning-bg: rgba(255, 255, 51, 0.12);
  --info-bg: rgba(51, 255, 255, 0.12);

  /* Navigation */
  --nav-bg: #0a1a0a;
  --nav-text: #33ff33;
  --nav-border: #1a661a;
  --nav-hover-bg: #0d220d;
  --nav-active-bg: #1a661a;

  /* Tables */
  --table-header-bg: #0d220d;
  --table-header-text: #33ff33;
  --table-border: #1a661a;
  --table-row-hover: rgba(51, 255, 51, 0.06);
  --table-row-stripe: rgba(51, 255, 51, 0.03);

  /* Cards & surfaces */
  --card-bg: #0a1a0a;
  --card-border: #1a661a;
  --card-shadow: 0 0 8px rgba(51, 255, 51, 0.15);
  --card-header-bg: #0d220d;
  --card-header-text: #33ff33;

  /* Forms & inputs */
  --input-bg: #000000;
  --input-border: #1a661a;
  --input-text: #33ff33;
  --input-focus-border: #33ff33;
  --input-placeholder: #4d994d;

  /* Buttons */
  --btn-primary-bg: #33ff33;
  --btn-primary-text: #000000;
  --btn-secondary-bg: #1a661a;
  --btn-secondary-text: #33ff33;

  /* Badges & icons */
  --badge-bg: #33ff33;
  --badge-text: #000000;
  --icon-synaptic: #33ff33;
  --icon-affinity: #22cc22;
  --icon-website: #33ff33;
  --icon-email: #33ffff;

  /* Tier colors */
  --tier-s: #33ff33;
  --tier-a: #33ffff;
  --tier-b: #ff33ff;
  --tier-c: #ffff33;
  --tier-d: #ff8833;
  --tier-f: #ff3333;

  /* Typography */
  --font-body: 'Press Start 2P', 'VT323', 'Silkscreen', 'Courier New', monospace;
  --font-heading: 'Press Start 2P', 'VT323', 'Silkscreen', 'Courier New', monospace;
  --font-mono: 'Press Start 2P', 'VT323', 'Silkscreen', 'Courier New', monospace;
  --font-size-base: 0.75rem;
  --line-height-base: 1.8;
  --letter-spacing: 0.05em;

  /* Effects */
  --shadow-sm: 0 0 4px rgba(51, 255, 51, 0.1);
  --shadow-md: 0 0 10px rgba(51, 255, 51, 0.15);
  --shadow-lg: 0 0 20px rgba(51, 255, 51, 0.2);
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;

  /* Loading overlay */
  --overlay-bg: rgba(0, 0, 0, 0.92);
  --overlay-text: #33ff33;
  --overlay-accent: #33ff33;

  /* Borders */
  --border: #1a661a;

  /* Transitions */
  --transition-speed: 0s;
}


/* ==========================================================================
   13. WINDOWS XP — Classic Luna theme aesthetic
   ========================================================================== */

[data-theme='xp'] {
  /* Bootstrap overrides */
  --bs-body-bg: #ece9d8;
  --bs-body-color: #000000;
  --bs-primary: #3a6ea5;
  --bs-border-color: #aca899;
  --bs-emphasis-color: #000000;
  --bs-secondary-bg: #e4dfd0;
  --bs-tertiary-bg: #f0ece0;
  --bs-link-color: #3a6ea5;
  --bs-link-hover-color: #2d5f8b;
  --bs-code-color: #8b0000;
  --bs-success: #3c8b3c;
  --bs-danger: #cc3333;
  --bs-warning: #e6a800;
  --bs-info: #3a6ea5;
  --bs-secondary: #636363;

  /* Core palette */
  --bg: #ece9d8;
  --bg-surface: #f5f3e8;
  --bg-elevated: #ffffff;
  --bg-overlay: rgba(0, 0, 0, 0.4);
  --text: #000000;
  --text-secondary: #333333;
  --text-muted: #636363;
  --text-inverse: #ffffff;
  --primary: #3a6ea5;
  --primary-hover: #2d5f8b;

  /* Semantic colors */
  --success: #3c8b3c;
  --danger: #cc3333;
  --warning: #e6a800;
  --info: #3a6ea5;
  --success-bg: #d4edda;
  --danger-bg: #f5c6cb;
  --warning-bg: #ffeeba;
  --info-bg: #cce0f0;

  /* Navigation */
  --nav-bg: #3a6ea5;
  --nav-text: #ffffff;
  --nav-border: #2d5f8b;
  --nav-hover-bg: #4a7eb5;
  --nav-active-bg: #2d5f8b;

  /* Tables */
  --table-header-bg: #3a6ea5;
  --table-header-text: #ffffff;
  --table-border: #aca899;
  --table-row-hover: #e4dfd0;
  --table-row-stripe: #f5f3e8;

  /* Cards & surfaces */
  --card-bg: #ffffff;
  --card-border: #aca899;
  --card-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  --card-header-bg: #ece9d8;
  --card-header-text: #000000;

  /* Forms & inputs */
  --input-bg: #ffffff;
  --input-border: #aca899;
  --input-text: #000000;
  --input-focus-border: #3a6ea5;
  --input-placeholder: #767676;

  /* Buttons */
  --btn-primary-bg: #3a6ea5;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #d6d2c2;
  --btn-secondary-text: #000000;

  /* Badges & icons */
  --badge-bg: #3a6ea5;
  --badge-text: #ffffff;
  --icon-synaptic: #6f42c1;
  --icon-affinity: #3a6ea5;
  --icon-website: #3c8b3c;
  --icon-email: #cc3333;

  /* Tier colors */
  --tier-s: #3c8b3c;
  --tier-a: #3a6ea5;
  --tier-b: #6f42c1;
  --tier-c: #e6a800;
  --tier-d: #e07000;
  --tier-f: #cc3333;

  /* Typography */
  --font-body: 'Tahoma', 'Segoe UI', 'Trebuchet MS', sans-serif;
  --font-heading: 'Tahoma', 'Segoe UI', 'Trebuchet MS', sans-serif;
  --font-mono: 'Lucida Console', 'Courier New', monospace;
  --font-size-base: 0.8125rem;
  --line-height-base: 1.45;
  --letter-spacing: normal;

  /* Effects */
  --shadow-sm: 1px 1px 2px rgba(0, 0, 0, 0.15);
  --shadow-md: 1px 1px 3px rgba(0, 0, 0, 0.2);
  --shadow-lg: 2px 2px 6px rgba(0, 0, 0, 0.25);
  --radius-sm: 3px;
  --radius-md: 4px;
  --radius-lg: 6px;

  /* Loading overlay */
  --overlay-bg: rgba(236, 233, 216, 0.85);
  --overlay-text: #000000;
  --overlay-accent: #3a6ea5;

  /* Borders */
  --border: #aca899;

  /* Transitions */
  --transition-speed: 0.1s;
}


/* ==========================================================================
   14. SKEUOMORPHIC — Heavy texture, depth, and realism (iOS6 style)
   ========================================================================== */

[data-theme='skeuomorphic'] {
  /* Bootstrap overrides */
  --bs-body-bg: #e8e0d0;
  --bs-body-color: #2c2c2c;
  --bs-primary: #1e6dbf;
  --bs-border-color: #c8c0b0;
  --bs-emphasis-color: #1a1a1a;
  --bs-secondary-bg: #ddd5c5;
  --bs-tertiary-bg: #ede6d8;
  --bs-link-color: #1e6dbf;
  --bs-link-hover-color: #155a9e;
  --bs-code-color: #9b2c6e;
  --bs-success: #3d9140;
  --bs-danger: #c73333;
  --bs-warning: #d4a017;
  --bs-info: #2e8bc0;
  --bs-secondary: #585858;

  /* Core palette */
  --bg: #e8e0d0;
  --bg-surface: #ede6d8;
  --bg-elevated: #f5f0e5;
  --bg-overlay: rgba(0, 0, 0, 0.45);
  --text: #2c2c2c;
  --text-secondary: #4a4a4a;
  --text-muted: #585858;
  --text-inverse: #ffffff;
  --primary: #1e6dbf;
  --primary-hover: #155a9e;

  /* Semantic colors */
  --success: #3d9140;
  --danger: #c73333;
  --warning: #d4a017;
  --info: #2e8bc0;
  --success-bg: #d5ecd6;
  --danger-bg: #f4d0d0;
  --warning-bg: #f5e6c0;
  --info-bg: #d0e5f0;

  /* Navigation */
  --nav-bg: #4a4a4a;
  --nav-text: #e0e0e0;
  --nav-border: #333333;
  --nav-hover-bg: #5a5a5a;
  --nav-active-bg: #333333;

  /* Tables */
  --table-header-bg: #555555;
  --table-header-text: #e0e0e0;
  --table-border: #c8c0b0;
  --table-row-hover: #e0d8c8;
  --table-row-stripe: #ede6d8;

  /* Cards & surfaces */
  --card-bg: #f5f0e5;
  --card-border: #c8c0b0;
  --card-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  --card-header-bg: #e8e0d0;
  --card-header-text: #2c2c2c;

  /* Forms & inputs */
  --input-bg: #f8f4ec;
  --input-border: #b8b0a0;
  --input-text: #2c2c2c;
  --input-focus-border: #1e6dbf;
  --input-placeholder: #636363;

  /* Buttons */
  --btn-primary-bg: #1e6dbf;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #a8a098;
  --btn-secondary-text: #ffffff;

  /* Badges & icons */
  --badge-bg: #1e6dbf;
  --badge-text: #ffffff;
  --icon-synaptic: #7b4daf;
  --icon-affinity: #1e6dbf;
  --icon-website: #3d9140;
  --icon-email: #c73333;

  /* Tier colors */
  --tier-s: #3d9140;
  --tier-a: #1e6dbf;
  --tier-b: #7b4daf;
  --tier-c: #d4a017;
  --tier-d: #d07020;
  --tier-f: #c73333;

  /* Typography */
  --font-body: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-heading: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-mono: Menlo, Monaco, Consolas, 'Courier New', monospace;
  --font-size-base: 0.875rem;
  --line-height-base: 1.5;
  --letter-spacing: normal;

  /* Effects */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.18);
  --shadow-md: 0 2px 6px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.3);
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;

  /* Loading overlay */
  --overlay-bg: rgba(232, 224, 208, 0.85);
  --overlay-text: #2c2c2c;
  --overlay-accent: #1e6dbf;

  /* Borders */
  --border: #c8c0b0;

  /* Transitions */
  --transition-speed: 0.2s;
}
